Files
math/README.md
2025-09-13 17:55:36 +03:00

1.8 KiB
Raw Blame History

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, ошибки сгенерированы правдоподобно (соседние произведения, небольшие смещения).