8b17c5d3c4ef807edee4faa37bd3a33e0bfd3659
Backend:
- FastAPI + SQLAlchemy 2.0 async + Alembic
- Models: Test, Question, Answer
- API: GET /api/tests, GET /api/tests/{id}, POST /api/tests
- Pydantic validation: min 7 questions, min 3 answers, ≥1 correct
Frontend:
- React 18 + TypeScript + Vite + Ant Design + TanStack Query
- Pages: TestList, TestCreate (nested Form.List), TestDetail
Infrastructure:
- Docker Compose: db (postgres:16), backend, frontend, nginx
- Nginx: /api/ → FastAPI, / → Vite dev server with HMR
- Alembic migration 001_init: tests, questions, answers tables
- entrypoint.sh: wait for db, migrate, start uvicorn
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
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.
Description
Приложение для тестирования сотрудников клиники методом один вопрос - до пяти ответов один из которых правильный. Сотрудник должен выбрать правильный вариант ответа
Languages
TypeScript
56%
Python
41.7%
Mako
0.8%
Dockerfile
0.7%
HTML
0.4%
Other
0.3%