7 Commits
Author SHA1 Message Date
влад 355c0ef9f1 Интегрирован wesp в сайт
CI / quality (push) Canceled after 0s
2026-07-17 12:57:18 +03:00
владandCursor 5dfa06ddbe Fix WESP UI after git clone: serve from public/wesp and materialize static.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:43:25 +03:00
владandCursor 2c294424ef я косяк, поправил веб. Капитан, работайте!
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 11:06:47 +03:00
владandCursor 148d645760 Remove secrets and runtime data from version control.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 10:12:51 +03:00
влад b7b21648e3 Merge branch 'main' of https://git.groupkomton.ru/Matvey/site 2026-07-16 10:12:35 +03:00
владandCursor 016910ffb7 Initial commit: site monorepo with API, web, and infra.
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-16 10:11:54 +03:00
влад 12c983c0fc Шхуна не тонет: security, infra и доки на русском.
Безопасность довёл до ума — Cursor-генерацию переписал руками.
IDOR закрыл, CSRF задушил, refresh rotation теперь как надо.
HSTS на staging, ENABLE_DOCS=false, install.env recovery протестил.

Backend:
- jwt_denylist + auth_epoch: мгновенный revoke access JWT (logout/block/reset)
- auth/admin/users: bump epoch, logout с Bearer, forgot_password skip для blocked
- install_secrets: путь всегда apps/api/data/secrets/ (bootstrap из корня не ломает Docker)
- seed: SEED_DEMO_USERS=false на prod/staging
- тесты: jwt revoke, integration, coverage gate 90%

Frontend:
- logout шлёт Bearer, обработка TOKEN_REVOKED
- guards TypeScript fix
- E2E: blocked user → 401 сразу после block

Infra:
- staging/prod compose, TLS nginx, deploy-скрипты
- k6 §17.2, backup/health/smoke scripts

Docs:
- docs/ на русском: project, security, deploy, release (старые md слили)
- README короткий + план ТЗ + стандартные логины dev

Код готов к плаванию. Капитан может идти писать фронт.
2026-07-15 00:06:13 +03:00