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