Aleksey Razorvin
fc684e7c7d
Спринт 5: Трекер результатов
...
- Миграция 005: user_id в test_attempts (дефолт 1 = Гость)
- GET /api/attempts с фильтрами по тесту, дате и пагинацией
- Страница /tracker: таблица попыток, фильтры, пагинация
- Ссылка «Трекер» в шапке приложения
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 15:26:40 +05:00
Aleksey Razorvin
9a0b3ba92c
Спринт 4: AI-помощник на базе DeepSeek
...
- Страница /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 >
2026-03-21 15:11:49 +05:00
Aleksey Razorvin
c1a38bfef8
docs: update ТЗ to v1.2 and README with new sprint plan
...
ТЗ v1.2:
- Versioning logic: 'after first attempt' instead of 'after assignment'
- Added section 4.7 AI assistant (DeepSeek)
- Removed 'auto question generation' from out-of-scope
README:
- Sprint table updated: 7 sprints, statuses, Sprint 4 = AI/DeepSeek
- Added AI and MAX to stack table
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 14:08:50 +05:00
Aleksey Razorvin
6cb2d527e1
docs: insert Sprint 4 LLM/DeepSeek, shift tracker to Sprint 5, auth to Sprint 6
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 14:05:56 +05:00
Aleksey Razorvin
d7409c5fa4
docs: mark Sprint 3 complete, add step 010
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 14:00:55 +05:00
Aleksey Razorvin
2b5dc379e1
docs: reorder sprints — editing+versioning moves to Sprint 3, tracker to Sprint 4
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 13:22:24 +05:00
Aleksey Razorvin
98049244ae
docs: document Sprint 2 UX improvements
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 13:18:18 +05:00
Aleksey Razorvin
4762f86187
docs: mark Sprint 2 complete, document migration restart bug
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 13:03:33 +05:00
Aleksey Razorvin
d5f6abb5ad
feat: Sprint 2 — test taking + results
...
Backend:
- Models: TestAttempt, AttemptAnswer (migration 002)
- POST /api/attempts: start attempt, shuffle questions/answers,
hide is_correct, expose is_multiple for UI hints
- POST /api/attempts/{id}/submit: save answers, calculate score,
strict matching (selected == correct), return full result
- GET /api/attempts/{id}/result: fetch saved result
- Register attempts router in main.py
Frontend:
- api/attempts.ts: types + API functions
- TestTake page: one question at a time, progress bar, timer
with auto-submit, back navigation controlled by test setting,
radio/checkbox based on is_multiple
- AttemptResult page: score, pass/fail, per-question breakdown
with correct/selected/missed answer highlighting
- App.tsx: add /tests/:testId/take and /attempts/:id/result routes
- TestDetail: add "Пройти тест" button
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 12:53:11 +05:00
Aleksey Razorvin
5551202d6f
docs: update sprint 1 docs after manual testing
...
- СПРИНТЫ.md: mark Sprint 1 as completed (✅ ), check all tasks,
add 4 bugs found and fixed during testing
- ШАГ_006.md: add bugs table with symptoms, causes and fixes
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 12:46:30 +05:00
Aleksey Razorvin
8b17c5d3c4
feat: Sprint 1 — infrastructure + test creation
...
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 >
2026-03-21 12:05:04 +05:00
Aleksey Razorvin
d013a16e98
docs: add sprint plan and step 005 log
...
- Create DOC/СПРИНТЫ.md: 5 sprints, value-first approach
- Sprint 1: infra + test creation (no auth)
- Sprint 2: taking tests + results
- Sprint 3: results tracker
- Sprint 4: auth + roles + user management
- Sprint 5: MAX notifications
- Add DOC/ШАГИ/ШАГ_2026-03-21_005.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:39:43 +05:00
Aleksey Razorvin
15de1e9369
docs: add tech stack document and step 004 log
...
- Create DOC/СТЕК.md: FastAPI + React + PostgreSQL + Docker
- Add DOC/ШАГИ/ШАГ_2026-03-21_004.md with decisions log
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:31:57 +05:00
Aleksey Razorvin
52c8aff459
docs: close all open questions, update ТЗ to v1.1
...
- Director role = HR-manager (same permissions)
- Editing assigned test creates new version
- Question order is random per attempt
- Navigation back configurable by test author
- Notifications via MAX messenger (last sprint)
- Export out of scope
- Add step 003 log
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:27:26 +05:00
Aleksey Razorvin
7ff7d9b1d0
docs: add technical specification and step 002 log
...
- Create DOC/ТЗ.md with full system requirements
- Add DOC/ШАГИ/ШАГ_2026-03-21_002.md with step log
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:20:22 +05:00
Aleksey Razorvin
20cc403b85
docs: update step 001 with remote repo setup
...
- Add git remote add origin command
- Add git push -u origin main result
- Mark remote repo task as completed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 11:06:04 +05:00
Aleksey Razorvin
3c97d2ba04
chore: init project structure
...
- Initialize git repository
- Add .gitignore (OS, editor, env, deps)
- Create DOC/ШАГИ/ directory for design documentation
- Add first step log: project kickoff and repo setup
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-21 10:58:14 +05:00