Files
TestingWebApp/flask_app/README.md
T

81 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Flask-контур тестирования (целевой стек)
Приложение на **Python 3.11 / Flask 3 / Jinja2** в духе
`HR_TG_Bot/tgFlaskForm` (серверный рендер, без React). На этом контуре
работает прод **[edullm.pirogov.ai](https://edullm.pirogov.ai/)**.
Старый стек (`backend/` + `frontend/`) пока не удаляется: оба контура
существуют параллельно до закрытия паритета (спринты **E1.4E1.6** в
[`docs/migration-final.md`](../docs/migration-final.md)).
## Запуск в Docker (рекомендуется)
Из **корня** репозитория TestingWebApp. `docker-compose.dev.yml` уже
подключён к сети `postgres` (`hr_postgres_dev_net`) и пробрасывает
`DATABASE_URL`, `HR_AUTH`, `HR_DATABASE_URL`, `DEEPSEEK_API_KEY` /
`OPENAI_API_KEY` / `LLM_BASE_URL` / `LLM_MODEL` из корневого `.env`.
```bash
docker compose -f docker-compose.dev.yml up -d --build testing-flask
```
- **URL:** http://localhost:3108
- **Проверка:** http://localhost:3108/health
Вместе со старым UI и API:
```bash
docker compose -f docker-compose.dev.yml up -d --build
```
Тогда Node-интерфейс остаётся на **http://localhost:3107**, Flask — на **3108**.
## Запуск локально (без Docker)
```bash
cd flask_app
python3 -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env # при необходимости поправьте PORT
python run.py
```
По умолчанию: **http://127.0.0.1:3108** , проверка: **http://127.0.0.1:3108/health**
Для режима как в Docker (waitress): в `.env` задайте `WEB_USE_WAITRESS=1`.
## Зачем отдельная папка
- Один **стек** с кабинетом / мини-приложением — проще переносить экраны и запросы из `HR_TG_Bot/tgFlaskForm/webApp/interfaces/testing/`.
- **Отдельный** процесс и порт — без риска сломать текущий `docker-compose.dev.yml` с Node до готовности.
## Состояние спринтов
Этот каталог — место разработки **Этапа 1**
([migration-final.md](../docs/migration-final.md)).
| Спринт | Что входит | Статус |
|---|---|---|
| E1.0 | База Flask-приложения, БД-пул, сессии, `base.html`. | ✅ |
| E1.1 | Auth + `/api/me` (bcrypt + Werkzeug, опц. `HR_AUTH`). | ✅ |
| E1.2 | Каталог тестов и редактор (функциональный минимум). | ✅ |
| E1.3 | Импорт документов (PDF / DOCX / TXT / MD). | ✅ |
| E1.4 | Назначения и прохождение тестов. | ⬜ |
| E1.5 | Трекер попыток + страница настроек цепочки. | ⬜ |
| E1.6 | Cutover: удаление `backend/` и `frontend/`. | ⬜ |
| E1.7 | UX-полировка: 4 аккордеона + drag-n-drop. | ⬜ |
| E1.8 | AI-функции v2 (`/settings`, generate / check / improve). | ✅ |
Чек-лист эндпоинтов и gap-analysis с `tgFlaskForm`
[`migration-final-inventory.md`](../docs/migration-final-inventory.md).
ETL `clinic_tests → hr_bot_test` и слияние с `tgFlaskForm` — это
**Этап 2**, на будущее
([migration-to-tgflaskform.md](../docs/migration-to-tgflaskform.md)).
## Связанные документы
- [docs/migration-final.md](../docs/migration-final.md) — главный трекер двух этапов.
- [docs/migration-final-inventory.md](../docs/migration-final-inventory.md) — карта Express-функционала, чек-лист Этапа 1.
- [docs/migration-to-tgflaskform.md](../docs/migration-to-tgflaskform.md) — план Этапа 2.
- [README корня репозитория](../README.md)