1.8 KiB
1.8 KiB
Multiplication Table Trainer (FastAPI)
Запуск локально
- Установите зависимости:
pip install fastapi uvicorn
- Запустите сервер:
uvicorn app.main:app --reload
- Откройте в браузере:
http://127.0.0.1:8000/
Docker
- Сборка:
docker build -t mult-trainer .
- Запуск:
docker run --rm -p 8000:8000 mult-trainer
- Переменная порта:
-e PORT=8000
(по умолчанию 8000)
Описание
- Кнопка «Старт» начинает сессию: 20 примеров, 300 секунд.
- На экране крупно показывается пример (например, «6 × 8») и 4 варианта ответа, один из которых правильный.
- Сервер проверяет ответы и ограничение по времени. По завершении показывается результат.
- В рамках одной сессии примеры не повторяются (исключены зеркальные дубли вида 6×8 и 8×6).
API
- POST
/api/session/start
→ { session_id, total_questions, duration_seconds, remaining_seconds, question } - POST
/api/session/{session_id}/answer
body: { answer } → { correct, finished, reason, remaining_seconds, score, question? } - GET
/api/session/{session_id}/state
→ текущее состояние (для возможного опроса)
Замечания
- Сессии хранятся в памяти процесса и сбрасываются при перезапуске.
- Диапазон множителей — от 2 до 9, ошибки сгенерированы правдоподобно (соседние произведения, небольшие смещения).