# 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 | | AI-помощник | DeepSeek API (openai-совместимый) — Спринт 4 | | Уведомления | Мессенджер MAX — Спринт 7 | --- ## План спринтов | Спринт | Содержание | Статус | |--------|-----------|--------| | **1** | Инфраструктура (Docker, FastAPI, React, PostgreSQL) + создание тестов | ✅ | | **2** | Прохождение теста + результаты и разбор ошибок | ✅ | | **3** | Редактирование тестов + версионность | ✅ | | **4** | AI-помощник при создании/редактировании тестов (DeepSeek) | ⬜ | | **5** | Трекер результатов | ⬜ | | **6** | Авторизация, роли, подразделения, управление пользователями | ⬜ | | **7** | Уведомления в MAX | ⬜ | --- ## Документация | Файл | Содержание | |------|-----------| | `DOC/ТЗ.md` | Техническое задание (v1.1) | | `DOC/СТЕК.md` | Технологический стек с обоснованием | | `DOC/СПРИНТЫ.md` | Детальный план спринтов с задачами | | `DOC/ШАГИ/` | История разработки шаг за шагом | --- ## Запуск (после Спринта 1) ```bash docker compose up --build ``` Приложение будет доступно на `http://localhost`.