Версия 1.5¶
Дата: 16.09.2026
Изменения¶
API — раздел документации¶
- Добавлен раздел «API» в навигацию документации
- Обзорная страница API (
api/index.md) — описание базового URL, групп эндпоинтов, ссылка на Swagger UI - Scalar (
api/scalar.html) — интерактивная документация OpenAPI через CDN (Scalar), доступна в рамках сайта на том же порту - Заготовка OpenAPI-спецификации (
api/openapi.yaml) — OpenAPI 3.1, разбита на модули через$ref: - Основной файл — info, servers, tags, security
paths/auth.yaml— авторизация (login, logout, refresh)paths/users.yaml— пользователи (профиль)paths/professions.yaml— профессии (список, детали)paths/quiz.yaml— викторина (сессии, ответы)paths/profstart.yaml— ПрофСтарт (сессии, ответы, результат)paths/analytics.yaml— аналитика (события)paths/cms.yaml— CMS (справочники, вопросы, анкеты)paths/feedback.yaml— обратная связь (анкеты, ответы)paths/files.yaml— файлы (загрузка, получение)paths/quiz.yaml— викторина полностью: CMS (вопросы, шаблоны, раунды), игровая сессия, мобильный клиент
Викторина — API и модель данных¶
- Обновлена модель данных
GameSession(entities/game-session.md): - Убран
scenario_template_id— шаблон используется только для заполнения при создании - Добавлены
current_round_index,current_question_index— для восстановления после сбоя - Детализирован
settings:auto_reveal,auto_next,auto_next_delay,between_rounds_delay,show_intermediate_results - Убрана
roleизGameSessionParticipant— капитан определяется черезGameSessionTeam.captain_id - Добавлены сущности:
GameSessionRound,GameSessionQuestion(снапшоты),GameSessionAnswer(ответы) - Добавлено описание состояния в Redis: таймер (remaining/running/updated_at), голоса, revealed
- Добавлено 24 эндпоинта викторины в API:
- CMS: вопросы (CRUD), шаблоны (CRUD + publish/unpublish), раунды и вопросы в раундах
- Сессия: создание, получение, завершение, next, reveal, timer pause/resume, результаты
- Мобильный клиент: join, team join, vote, answer
Интерфейсы — обновление¶
- Мобильный клиент: ответ (
interfaces/mobile-client/answer.md): - Добавлен раздел «API ответов» — единый эндпоинт для всех типов ответов (individual/team vote/team answer)
- Добавлен раздел «Восстановление сессии» —
GET /quiz/sessions/active - Добавлены состояния: ожидание начала (
waiting), между раундами - Планшет оператора: управление раундом (
interfaces/operator-tablet/round-control.md): - Добавлены разделы «Восстановление сессии» и «Статусы сессии» (
waiting/active/finished) - Описано поведение при
auto_reveal = true/false— автопоказ ответа или ручная кнопка - Описан автопереход (
auto_next) с задержкойauto_next_delay - Завершение сессии через
POST /quiz/sessions/{id}/finish
LED-медиаплатформа — викторина¶
- Обновлена страница викторины (
subsystems/led-platform/quiz.md): - Добавлены статусы сессии (
waiting/active/finished) - Этапы командной сессии привязаны к статусам
- Добавлена таблица настроек сессии (
auto_reveal,auto_next,auto_next_delay,between_rounds_delay,show_intermediate_results)
Инфраструктура¶
- Скрипты (
scripts/):bundle_openapi.py(сборка OpenAPI из модулей),mkdocs_hook.py(хук для MkDocs)