diff --git a/README.md b/README.md index 7e995e7..509d864 100644 --- a/README.md +++ b/README.md @@ -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`; на +`
` всегда класс **`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.0–E1.3 и E1.8 закрыты. Чек-лист и журнал — @@ -69,7 +84,7 @@ E1.0–E1.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) |
- - Введите ФИО из кадровой системы и общий dev-пароль — или обычный логин/пароль. -
- {% elif hr_auth_enabled %} -- Можно ввести логин из HR или ФИО (как в кадровой системе), если совпадение одно, и пароль учётной записи HR. -
- {% endif %} - -
+ - {% if dev_fio_enabled %} - Введите ФИО из кадровой системы и общий dev-пароль — или обычный логин/пароль. - {% elif hr_auth_enabled %} - Учётная запись HR: можно ввести логин или ФИО (если в базе только один такой сотрудник), и пароль. - {% else %} - Используйте логин и пароль. - {% endif %} -
- - {% with messages = get_flashed_messages(with_categories=true) %} - {% if messages %} -
-