feat: закрыть остаточный backlog
- keyset-пагинация аудита с курсором (occurred_at, id) и UI «Показать ещё» - пакетный /api/v1/labs/details и переход progress на один запрос - абсолютный потолок сессии 30 дней (identity V12 + web), очистка refresh - админская инвентаризация legacy-активов (/admin/legacy-assets, скрипт) - E2E в Chromium/Firefox/WebKit (18/18), CI preflight - LDD: 51 claim, 346 тестов, docs и handoff обновлены
This commit is contained in:
17
README.md
17
README.md
@@ -24,6 +24,16 @@ UML- и архитектурные диаграммы (Mermaid) — в ката
|
||||
- `services/gateway` — Spring Cloud Gateway, маршрутизация и проверка JWT.
|
||||
- `web` — серверный веб-интерфейс (Thymeleaf + htmx), BFF.
|
||||
|
||||
Ключевое в текущей версии:
|
||||
|
||||
- роли `ADMIN/TEACHER/STUDENT`, курсы и группы-когорты, повышение и жизненный
|
||||
цикл студента, профиль студента курса;
|
||||
- access JWT 15 минут + refresh 7 дней с ротацией/отзывом; web-сессия 7 дней
|
||||
sliding с абсолютным потолком 30 дней и автоматическим обновлением access;
|
||||
- аудит с keyset-пагинацией, пакетная выдача лабораторных и групп курса;
|
||||
- материалы и активы secure-by-default: файл без статьи доступен только
|
||||
админу (инвентаризация `/admin/legacy-assets`).
|
||||
|
||||
## Требования
|
||||
|
||||
- JDK 21 (runtime) + Docker (для PostgreSQL 18). Gradle сам скачает toolchain 21 для сборки.
|
||||
@@ -58,8 +68,10 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`.
|
||||
./scripts/ldd-runtime.sh # runtime-smoke полного стека + scale load
|
||||
./scripts/ldd-migration-upgrade.sh # upgrade с master-схемы
|
||||
./scripts/ldd-mutation.sh # PIT: mutation strength критичных P0-компонентов
|
||||
./scripts/ldd-browser.sh # Playwright E2E (cd e2e && npm install && npx playwright install chromium)
|
||||
./scripts/ldd-browser.sh # Playwright E2E: Chromium/Firefox/WebKit
|
||||
./scripts/ldd-release.sh # полный release gate: test/upgrade/mutation/runtime/E2E
|
||||
./scripts/ci-preflight.sh --release # проверка окружения runner без установки
|
||||
./scripts/legacy-assets.sh # инвентаризация бесхозных файлов на стенде (admin)
|
||||
```
|
||||
|
||||
- `ktlint` отвечает за формат, `detekt` — за качество (сложность, вложенность, ошибки).
|
||||
@@ -77,7 +89,8 @@ progress `:8083`, web `:8090`. Интерфейс: `http://localhost:8090`.
|
||||
`release-evidence` (`scripts/ldd-release.sh`) обязателен для тегов и
|
||||
запускается вручную для веток. `check` требует privileged `docker:dind`
|
||||
для Testcontainers; `smoke`/`release-evidence` — shell-runner с Java 21,
|
||||
Docker Compose v2, Python 3 и (для release) Node/Chromium.
|
||||
Docker Compose v2, Python 3 и (для release) Node + Chromium/Firefox/WebKit.
|
||||
Baseline: **51 claim, 346 тестов, 18/18 browser E2E**.
|
||||
|
||||
## Запуск в Docker (для сервера)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user