Files
TestingWebApp/docs/шаги/09-attempt-tracking.md
T
Константин Лебединский a68331c86b docs: статус проекта, инструкция dev, обновление всех .md
- PROJECT_STATUS: что сделано (черновики, версии, разбор, каталог) и планы
- DEV_CONTOUR_USER_GUIDE: сценарии для проверяющих на dev-стенде
- README, ТЗ, card1, журнал, бэклоги, шаги 01–11+README, спринты, TEST_TABLES: ссылки и примечания
- backend/PROGRESS: ссылка на PROJECT_STATUS

Made-with: Cursor
2026-04-24 22:12:06 +05:00

59 lines
1.9 KiB
Markdown

# Шаг 9: Трекер попыток
## Цель
Реализовать единый интерфейс просмотра всех попыток прохождения тестов.
---
## Задачи
### 9.1. API трекера
| Эндпоинт | Метод | Описание |
|----------|-------|----------|
| `/api/tracker` | GET | Список всех попыток |
**Параметры фильтрации:**
- `department_id` — по подразделению
- `user_id` — по сотруднику
- `test_id` — по тесту
- `status` — по статусу (in_progress, completed, expired)
- `passed` — по результату (true, false)
### 9.2. Поля в трекере
| Поле | Источник |
|------|----------|
| Сотрудник | users.full_name, departments.name |
| Тест | tests.title |
| Попытка № | test_attempts.attempt_number |
| Начало | test_attempts.started_at |
| Завершение | test_attempts.completed_at |
| Результат | correct_count / total_questions, % |
| Зачёт | passed (true/false) |
### 9.3. Права доступа
- **HR:** видит все попытки по всей клинике
- **Manager:** видит попытки только своего подразделения
- **Employee:** видит только свои попытки
### 9.4. Пагинация и сортировка
- Пагинация по 20/50/100 записей
- Сортировка по дате начала (убывание)
---
## Результат
- Таблица попыток с фильтрами
- Ограничение данных по роли
- Полная история прохождений
---
*Актуальная привязка к коду: [../PROJECT_STATUS.md](../PROJECT_STATUS.md) · индекс шагов: [README.md](README.md).*