Feature: серверная часть, ФИО и результаты теста в БД; правка ответа эскалация 80%

Made-with: Cursor
This commit is contained in:
2026-03-16 07:46:37 +00:00
parent 2de0d2cfbd
commit 05388b2ba6
14 changed files with 1971 additions and 48 deletions

View File

@@ -1,5 +1,26 @@
# История изменений — Управление ИТ (ОМС)
## 2025-03-16 14:00 UTC Серверная часть и связка с фронтом
**Проблема:** нужна фиксация ФИО при старте обучения и сохранение результатов тестирования в БД.
**Решение:** реализован backend на FastAPI, PostgreSQL, экран ввода ФИО и вызовы API из курса.
**Изменения:**
- **Тест:** исправлен правильный ответ на вопрос про эскалацию (80% вместо 100%).
- **Backend:** FastAPI, SQLAlchemy, модель `Participant` (id, fio, started_at, completed_at, score, total_questions, percent, passed). API: `POST /api/start`, `POST /api/complete`, `GET /api/health`. Статика курса из каталога `content/`.
- **Фронт:** экран приветствия с формой ФИО; после ввода — запрос `/api/start`, сохранение `participant_id` в sessionStorage, отображение «Вы вошли как: ФИО»; после прохождения теста — отправка результатов через `/api/complete`.
- **Docker:** образ backend (Python 3.12), PostgreSQL 15, volume для БД, монтирование `content`. Volume добавлен в `include-volumes.txt`.
- Обновлены README.md, .env.example, HISTORY.md.
**Проверка:**
```bash
cd /opt/lms-it-oms && docker compose up -d
# Открыть http://localhost:8000/ — ввод ФИО, прохождение курса и теста, результат сохраняется в БД.
```
---
## 2025-03-16 12:00 UTC Создание проекта
**Проблема:** нужна система дистанционного обучения «Управление ИТ (ОМСс HTML-контентом и последующей серверной частью для учёта сотрудников и результатов тестов.