diff --git a/docs/inbox.md b/docs/inbox.md index 97380bf..c58ff4a 100644 --- a/docs/inbox.md +++ b/docs/inbox.md @@ -358,6 +358,15 @@ cash flow, бюджеты, аналитика, прогнозы и автома > фичи: `frontend-docs-sync`, `frontend-infrastructure-hardening`, `frontend-shared-boundary-cleanup`, > `frontend-test-hygiene`. Пункт P2 «Двойная система API-типов» — resolved (codegen unification). > Остальные пункты ниже остаются открытыми и нуждаются в отдельных фичах. +> +> **Обновление 2026-06-25:** Проведён аудит бэкенда (`docs/research/2026-06-25-backend-audit.md`), +> выявивший 12 архитектурных проблем. В рамках эпика `backend-architecture-improvements` выполнены: +> - Shared envelope DTO — единый `ApiResponseMeta` вместо 6 дублирующихся классов +> - Screener TTL — отдельный кеш-параметр `CACHE_SCREENER_TTL` (900s) +> - Domain exception hierarchy — `DomainException`, `EntityNotFoundException`, `MoexApiException`, `TBankApiException` +> - Health check прокачка — проверки Prisma, MOEX, T-Bank с детальным статусом +> - RequestLoggingMiddleware — перевод на `configure()` в AppModule +> - MoexClientService split — 6 клиентов вместо God Service, убран `@Global()` Текущее состояние quality gates хорошее: на момент аудита проходят lint, format-check, backend build, frontend build, 94 backend-теста и 168 frontend-тестов. @@ -418,6 +427,8 @@ frontend build, 94 backend-теста и 168 frontend-тестов. ### P2: декомпозировать крупные backend/frontend модули +- [x] **MoexClientService split (backend)** — God Service (423 строки, 11 методов) разделён на + `MoexHttpClient` + 5 доменных клиентов. `@Global()` убран. Реализовано в `backend-architecture-improvements`. - `PortfolioService` объединяет CRUD, ownership, MOEX enrichment, кеширование, расчёты PnL, дивиденды и агрегированную аналитику. - Broker UI содержит крупные страницы, таблицы и монолитный test suite; это усложнит FSD-миграцию и diff --git a/docs/roadmap.md b/docs/roadmap.md index 9743d77..cc6954d 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -90,6 +90,15 @@ Roadmap отражает порядок продуктовой работы, н - [x] [frontend-test-hygiene](features/frontend-test-hygiene/spec.md) — минимизация test helpers, нормализация conventions +### [Backend Architecture Improvements](features/backend-architecture-improvements/spec.md) + +- [x] Shared envelope DTO — единый `ApiResponseMeta` вместо 6 дублирующихся классов +- [x] Screener TTL — отдельный кеш-параметр `CACHE_SCREENER_TTL` (900s) +- [x] Domain exception hierarchy — `DomainException`, `EntityNotFoundException`, `MoexApiException`, `TBankApiException` +- [x] Health check прокачка — проверки Prisma, MOEX, T-Bank с детальным статусом +- [x] RequestLoggingMiddleware — подключение через `configure()` в AppModule +- [x] MoexClientService split — 6 клиентов вместо God Service, убран `@Global()` + ## Кандидаты следующих фич - [x] [Миграция таблиц на дизайн-систему](features/table-migration/spec.md) — DividendsTable,