docs: миграция на tgFlaskForm и производительность Flask; контур flask_app; UI без лишних описаний

Made-with: Cursor
This commit is contained in:
Константин Лебединский
2026-04-27 18:43:51 +05:00
parent 47279c72e3
commit b3e3757a92
20 changed files with 680 additions and 115 deletions
+54
View File
@@ -0,0 +1,54 @@
# Flask-контур тестирования (тот же стек, отдельный деплой)
Здесь — **новое** приложение на **Python / Flask** в духе `HR_TG_Bot/tgFlaskForm` (шаблоны + серверный рендер, без React). Старый стек (`backend/` + `frontend/`) пока не удаляется: оба контура могут существовать параллельно, пока не зафиксирована политика «один источник записи» и cutover.
## Запуск в Docker (рекомендуется)
Из **корня** репозитория TestingWebApp. Сервис **не** зависит от `testing-backend` и **не** требует внешней сети Postgres для старта (только внутренняя сеть compose).
```bash
docker compose -f docker-compose.dev.yml up -d --build testing-flask
```
Когда подключите БД из контейнера к `hr_postgres_dev` / `clinic_tests`, в `docker-compose.dev.yml` у сервиса `testing-flask` добавьте сеть `postgres` (как у `testing-backend`).
- **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. Подключить БД (`clinic_tests` **или** `hr_bot_test` + `testing_*` — одно из двух, см. [docs/migration-to-tgflaskform.md](../docs/migration-to-tgflaskform.md) §0).
2. Переносить маршруты и шаблоны по образцу `tgFlaskForm` (blueprint `testing`, `db/queries/testing_queries.py`, шаблоны `cabinet/testing/`).
3. ETL при переходе на HR-БД: `HR_TG_Bot/tgFlaskForm/tools/migrate_clinic_tests_to_hr.py`.
## Связанные документы
- [docs/migration-to-tgflaskform.md](../docs/migration-to-tgflaskform.md)
- [README корня репозитория](../README.md)