Aleksey Razorvin 3d21110dd9 fix: serve FastAPI docs under /api prefix
Set docs_url=/api/docs, redoc_url=/api/redoc,
openapi_url=/api/openapi.json so Swagger UI is
accessible through nginx at http://localhost/api/docs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-21 12:44:15 +05:00
2026-03-21 10:58:14 +05:00

QA Test App — Система тестирования сотрудников клиники

Веб-приложение для проведения внутреннего тестирования сотрудников. Руководители подразделений создают тесты, назначают их сотрудникам, система фиксирует результаты.

Проект разрабатывается как мастер-класс для джуниор-разработчиков. История разработки — пошаговые запросы и решения — сохраняется в DOC/ШАГИ/.


Формат тестирования

  • Вопрос + минимум 3 варианта ответа (один или несколько правильных)
  • Минимум 7 вопросов в тесте
  • Случайный порядок вопросов при каждом прохождении
  • Опциональный таймер на прохождение
  • Порог зачёта задаётся автором теста (%)

Роли

Роль Возможности
HR-менеджер / Директор Создаёт тесты, назначает всем сотрудникам клиники, видит все результаты
Руководитель подразделения Создаёт тесты, назначает только своему отделу, видит результаты своего отдела
Сотрудник Проходит назначенные тесты, видит свои результаты и ошибки

Стек

Слой Технология
Backend Python 3.12 + FastAPI + SQLAlchemy 2.0 + Alembic
База данных PostgreSQL 16
Frontend React 18 + TypeScript + Vite + Ant Design + TanStack Query
Инфраструктура Docker Compose + Nginx
Уведомления Мессенджер MAX (Спринт 5)

План спринтов

Спринт Содержание
1 Инфраструктура (Docker, FastAPI, React, PostgreSQL) + создание тестов
2 Прохождение теста + результаты и разбор ошибок
3 Трекер результатов
4 Авторизация, роли, подразделения, управление пользователями
5 Уведомления в MAX

Документация

Файл Содержание
DOC/ТЗ.md Техническое задание (v1.1)
DOC/СТЕК.md Технологический стек с обоснованием
DOC/СПРИНТЫ.md Детальный план спринтов с задачами
DOC/ШАГИ/ История разработки шаг за шагом

Запуск (после Спринта 1)

docker compose up --build

Приложение будет доступно на http://localhost.

S
Description
Приложение для тестирования сотрудников клиники методом один вопрос - до пяти ответов один из которых правильный. Сотрудник должен выбрать правильный вариант ответа
Readme 523 KiB
Languages
TypeScript 56%
Python 41.7%
Mako 0.8%
Dockerfile 0.7%
HTML 0.4%
Other 0.3%