Задание

В репозитории хранится начатый проект «Recall» — персональная база знаний с интервальным повторениемТехника запоминания: материал показывают через растущие промежутки времени — перед тем, как вы успеете его забыть.. Backend на PHP, frontend на TypeScript, схема API описана в spec/api/openapi.yaml. Проект запускается, и даже что-то уже работает.

Что уже есть

Сущности

Про алгоритм повторения

Используется упрощённый интервальный алгоритм в духе SM-2Классический алгоритм интервального повторения, родом из SuperMemo. По вашей оценке и «лёгкости» карточки считает, когда показать её снова.: чем лучше вы помните карточку, тем дальше отодвигается следующий показ; чем хуже — тем ближе. Конкретные интервалы и правила подсчёта статистики намеренно не зафиксированы в задании — это часть того, что вам предстоит определить и реализовать. Приёмочные тестыПроверки готовности: по контракту (Hurl) и несколько UI-сценариев (Playwright). Намеренно нестрогие. проверяют поведение, а не конкретные числа.

Как определить готовность

just verify запускает приёмочные тесты. Они нарочно нестрогие.

Команда поднимает приложение, гоняет HTTP-проверки (HurlТекстовый формат HTTP-проверок: запрос плюс ассерты на статус, заголовки и тело. Дружит с git и CI.) по схеме из spec/api/ и несколько PlaywrightБраузерные end-to-end тесты: открывают страницу и проходят сценарий как живой пользователь.-сценариев.

Поднять руками для разработки:

just dev       # запустить приложение в режиме разработки через docker compose
just test # запуск backend юнит-тестов
just lint # провести статанализ и проверку стиля кода (входит в verify)
just fmt # автоформат и безопасные автоправки
just guide # собрать сайт-инструкцию локально

Структура репозитория

Как сдавать работу

  1. Форкните публичный шаблон репозитория.
  2. Работайте в отдельной ветке, а не в master: автопроверка just verify в CI гоняется на ветках и в PR.
  3. Доведите проект до успешного прохождения just verify.
  4. В процессе заполняйте LOGBOOK.md.
  5. Откройте Pull Request (PR) из своей ветки и убедитесь, что проверки прошли в CI.
  6. Пришлите нам ссылку на PR.

Удачи!