You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
4.1 KiB
4.1 KiB
Декомпозиция доработки (по ТЗ revision_task/task.md)
Стек (репозиторий TestingWebApp): Node.js (backend), PostgreSQL, Docker; фронт — desktop-first SPA. Экосистема клиники: см. HR_TG_Bot README; перенос на Python/FastAPI не считается обязательным для этого репо — контракт данных и card1.md важнее.
Карта больших кусков работ: card1.md (версии V, документ D, авторизация HR A).
Этап 1 (ТЗ §4) — пять фич: 4.1–4.5 (части можно параллелить).
Этап 2 (ТЗ §5) — дашборды.
Этапы 3–5 — интеграция в общий HR, MAX, уведомления.
Первые спринты: sprint-01.md, sprint-02.md (и при наличии sprint-02-testing).
A. Подготовка и база (фундамент)
| ID | Подзадача |
|---|---|
| A.1 | Репозиторий, Docker Compose (PostgreSQL), .env, health |
| A.2 | Схема БД, миграции: пользователи, подразделения, тесты, версии, попытки (см. card1 V.1) |
| A.3 | Аутентификация: локальная или через Postgres_TG_Bots (card1 A.x) |
| A.4 | CRUD тест/назначение/прохождение (база шагов docs/шаги/) + затем B |
Если A.1–A.4 частично сданы — добить по sprint-01 и card1.
B. Фича 4.1 — Версионирование тестов
См. полностью card1.md — Часть V (V.1–V.10).
C. Фича 4.2 — AI-помощник (DeepSeek)
| ID | Подзадача |
|---|---|
| C.1 | Ключ в БД; /settings; «Проверить»; ключ не на фронт |
| C.2 | OpenAI-совместимый клиент, json_object |
| C.3 | Сгенерировать/проверить/улучшить тест; модалки, было→стало |
| C.4 | Вопрос: улучшить, дистракторы, подсказка (с 4.4) |
Импорт из документа (card1 D) тянет C.1–C.3.
D. Импорт из документа
См. card1 D.1–D.5.
E–F. Подсказки и режимы (§4.4–4.5)
| ID | Кратко |
|---|---|
| E.x | Подсказка в вопросе, показ по режиму |
| F.x | Таймер, мгновенная оценка, итог в конце |
G. Этап 2 — Дашборды (§5)
| ID | Подзадача |
|---|---|
| G.1 | Дашборд сотрудника |
| G.2 | Руководитель подразделения |
| G.3 | Директор / вся клиника |
H. Спринт 1 — сопоставление
| Спринт | Охват |
|---|---|
| Спринт 1 | A (дозакрытие) + B = card1 V + при согласовании A (Postgres_TG_Bots) |
| Спринт 2 | C + начало D при наличии LLM; иначе D без генерации = только текст/ручной ввод |
| Далее | E, F, G, интеграция MAX, уведомления |
Сопоставление с файлами
| Документ | Содержание |
|---|---|
| card1.md | Задачи Card 1: версии, документ, auth HR |
| sprint-01.md | Спринт 1, кратко |
| task.md | ТЗ 1.0 |