9a0b3ba92c
- Страница /settings: ввод и проверка API ключа DeepSeek - POST /api/llm/generate — генерация вопросов по названию теста - POST /api/llm/improve — улучшение формулировки вопроса + ответов (модал с галочками) - POST /api/llm/distractors — генерация дистракторов - POST /api/llm/review — рецензия теста + кнопка «Предложить вариант» - POST /api/llm/improve_all — улучшение всего теста с постатейным сравнением - Миграция 004: таблица settings (key-value) - Шапка приложения с навигацией на /settings Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
74 lines
3.5 KiB
Markdown
74 lines
3.5 KiB
Markdown
# 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.2) |
|
|
| `DOC/СТЕК.md` | Технологический стек с обоснованием |
|
|
| `DOC/СПРИНТЫ.md` | Детальный план спринтов с задачами |
|
|
| `DOC/ШАГИ/` | История разработки шаг за шагом |
|
|
|
|
---
|
|
|
|
## Запуск (после Спринта 1)
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
Приложение будет доступно на `http://localhost`.
|