remove UI split (legacy/modern)

This commit is contained in:
Константин Лебединский
2026-04-30 21:53:49 +05:00
parent 1494b839f5
commit 0229bc250b
16 changed files with 107 additions and 384 deletions
+22 -17
View File
@@ -14,11 +14,12 @@
**Целевой и единственный рабочий стек** — Python 3.11 + Flask 3 +
Jinja2 + Tailwind CDN + SQLAlchemy / psycopg2, код в
[`flask_app/`](flask_app/). На нём работает и прод, и dev (`:3108`).
[`flask_app/`](flask_app/). На нём работает и прод, и dev (кабинетный UI,
порт **:3107** в Docker, см. ниже).
Старые каталоги `backend/` (Node.js / Express) и `frontend/`
(React + Vite) — **архив**: не разворачиваются, в `docker-compose.dev.yml`
поднимается только сервис `testing-flask`, удаление папок запланировано
поднимается сервис **`testing-flask`**, удаление папок запланировано
в спринте **E1.6**. Использовать их не надо, миграции и SQL-схема
сохранены в `backend/src/db/migrations/` исключительно как источник
структуры БД.
@@ -33,6 +34,20 @@ Jinja2 + Tailwind CDN + SQLAlchemy / psycopg2, код в
---
## Интерфейс (кабинет)
Единственный вариант UI — **как у основного HR-веба**: в
[`base.html`](flask_app/app/templates/base.html) корень
`cabinet-app` → шапка `cabinet-header` → контент `cabinet-main`; на
`<body>` всегда класс **`ui-legacy`**, стили в [`app.css`](flask_app/app/static/css/app.css)
с префиксом **`body.ui-legacy`** (primary/teal, `.btn`, `.surface-card`,
`legacy-list-shell`, `test-detail-page` и т.д.).
В [`docker-compose.dev.yml`](docker-compose.dev.yml) один сервис
**`testing-flask`** (`container_name: testing_webapp_flask`), порт **3107**.
---
## Что уже работает на новом (Flask) контуре
E1.0E1.3 и E1.8 закрыты. Чек-лист и журнал —
@@ -69,7 +84,7 @@ E1.0E1.3 и E1.8 закрыты. Чек-лист и журнал —
|---|---|
| **E1.4** — Назначение и прохождение | Назначить тест сотруднику, экран прохождения, экран результата с разбором ошибок. |
| **E1.5** — Трекер и настройки модуля | Единый список попыток с фильтрами, страница настроек цепочки. |
| **E1.6** — Cutover внутри репозитория | Удаление `backend/` и `frontend/`, чистка `docker-compose.dev.yml` от legacy-сервисов. |
| **E1.6** — Cutover внутри репозитория | Удаление `backend/` и `frontend/`, чистка `docker-compose.dev.yml` от архивных Node/React-сервисов. |
| **E1.7** — UX-полировка редактора | 4 аккордеона (Шапка / AI / Вопросы / Действия) и drag-n-drop из [Спринта 3](docs/СПРИНТЫ_МОБИЛЬНЫЙ_ДИЗАЙН.md). |
---
@@ -93,26 +108,16 @@ docker network create hr_postgres_dev_net || true
### Dev-стенд
Выбор интерфейса задаётся через env-переменную `COMPOSE_PROFILES`:
- `modern` — основной интерфейс на Flask/Jinja;
- `legacy` — legacy-раскладка интерфейса на том же Flask-стеке.
```bash
# Новый стек (рекомендуется)
COMPOSE_PROFILES=modern docker compose -f docker-compose.dev.yml up -d --build
# Legacy-раскладка (тот же Flask)
COMPOSE_PROFILES=legacy docker compose -f docker-compose.dev.yml up -d --build
docker compose -f docker-compose.dev.yml up -d --build
```
| Что | URL |
|---|---|
| Приложение (Flask modern) | <http://localhost:3108> |
| Health-check | <http://localhost:3108/health> |
| Приложение (Flask legacy) | <http://localhost:3107> |
| Приложение (Flask) | <http://localhost:3107> |
| Health-check | <http://localhost:3107/health> |
`docker-compose.dev.yml` пробрасывает в `testing-flask`:
`docker-compose.dev.yml` пробрасывает в контейнер **`testing-flask`**:
- `DATABASE_URL` (по умолчанию на контейнерный Postgres `clinic_tests`);
- `HR_AUTH=1` / `HR_DATABASE_URL` по умолчанию — вход через HR-кабинет;
- `DEEPSEEK_API_KEY` / `OPENAI_API_KEY` / `LLM_BASE_URL` / `LLM_MODEL`