moex-vibe/docs/roadmap.md

136 lines
10 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Roadmap
Roadmap отражает порядок продуктовой работы, но сам по себе не является основанием для реализации.
Требования и разрешение на реализацию определяются спецификацией конкретной фичи и текущей задачей
пользователя.
## Завершённые эпики
### [Аутентификация](epics/Authentication.md)
- [x] [auth-system](features/auth-system/spec.md) — полноценная регистрация, вход, JWT + refresh token,
страницы login/register/profile, session provider.
### [Документация](epics/Documentation.md)
- [x] [docusaurus-docs](features/docusaurus-docs/spec.md) — 30+ страниц документации, ADR, диаграммы.
- [x] [russian-docs-and-architecture-diagrams](features/russian-docs-and-architecture-diagrams/spec.md) —
документация на русском, декомпозированные схемы архитектуры.
### [DevOps](epics/DevOps.md)
- [x] [ci-cd](features/ci-cd/spec.md) — Gitea Actions: lint, test, build всех пакетов + Storybook.
- [x] [pre-commit-checks](features/pre-commit-checks/spec.md) — Husky + lint-staged.
## Активные эпики
### [Backend Architecture](epics/BackendArchitecture.md)
Цель: удерживать backend-архитектуру, security boundaries и published contracts в состоянии,
пригодном для безопасного развития продукта.
- [x] [Backend Architecture Improvements](features/backend-architecture-improvements/spec.md) — envelope
DTO, screener TTL, domain exceptions, health checks, middleware DI, MoexClient split.
- [x] [Backend Architecture Refactor](features/backend-architecture-refactor/spec.md) — refactor-only
итерация: error masking, production config hardening, DTO validation, typed T-Bank boundary, cache
metadata, backend docs sync.
### [Портфель брокера](epics/BrokerPortfolio.md)
Цель: дать пользователю целостный доступ к реальным брокерским счетам T-Bank.
- [x] [T-Bank broker portfolios](features/tbank-broker-portfolios/spec.md) — интеграция с gRPC,
синхронизация счетов/позиций/операций.
- [x] [Отображение брокерского портфеля](features/broker-portfolio-display/spec.md) — таблицы позиций
по классам, история операций с пагинацией.
- [x] [Разделы брокерского счёта](features/broker-account-sections/spec.md) — навигация по вкладкам,
обзор/позиции/операции/события.
- [x] [Информативный обзор брокерских счетов](features/broker-accounts-overview/spec.md) —
сводка по всем счетам с агрегацией.
- [x] [Календарь событий и прогноз будущих выплат](features/broker-events-and-payouts/spec.md) —
вкладка событий и прогноз выплат по диапазону дат.
- [x] [Исправление deadline и очереди T-Bank](features/tbank-deadline-queue-fix/spec.md) — deadline
внутри PQueue, best-effort обогащение.
- [x] [Улучшение UI операций](features/broker-operations-ui-improvements/spec.md)
- [x] [Пагинация и загрузка позиций](features/broker-positions-pagination-and-loading/spec.md)
- [x] [Аналитика прибыльности брокерского счёта](features/broker-account-analytics/spec.md) —
endpoint и вкладка аналитики: вложения, дивиденды, купоны, доходность
### [Портфельная страница](epics/PortfolioDashboard.md)
Цель: страница управления портфелями — создание, аналитика, распределение.
- [x] [Portfolio CRUD](features/portfolio/spec.md) — создание/редактирование ручных портфелей,
добавление позиций.
- [x] [График распределения](features/portfolio-allocation-chart/spec.md) — SVG donut chart.
- [x] [Обогащение списка портфелей](features/portfolio-list-enrichment/spec.md) — batch MOEX
обогащение (totalValue, positionCount).
- [x] [Оптимизация обогащения](features/portfolio-enricher-optimization/spec.md) — batch-методы
MoexClient.
- [x] [Аналитика портфеля](features/portfolio-analytics/spec.md) — Phases 13: cost basis + PnL,
дивидендный доход, target allocation.
- [x] [Пагинация и overlay загрузки](features/pagination-loading-overlay/spec.md) — overlay + спиннер
при переключении страниц во всех брокерских таблицах (Positions + Operations)
### [Контроль качества](epics/QualityAssurance.md)
- [x] [Покрытие frontend-тестами](features/frontend-test-coverage/spec.md) — Vitest + Testing Library +
MSW, тесты в colocation.
- [x] [Quality gate и контрактная документация](features/quality-gate-contract-docs/spec.md) —
docs обновлены, OpenAPI актуален, openapi-artifacts проверка добавлена.
## Крупные завершённые работы (вне эпиков)
- [x] [FSD-миграция фронтенда](features/fsd-frontend-refactor/spec.md) — поэтапный переход на
Feature-Sliced Design через 10+ features: entities, shared, market pages, broker pilot,
portfolios, screener, app-auth, cleanup, final.
- [x] [Дизайн-система](features/design-system-foundation/spec.md) — `@moex-vibe/design-system`:
три уровня токенов, MUI theme, DataTable, базовые компоненты, Storybook.
- [x] [Миграция брокерских разделов на DS](features/broker-account-sections-ds-migration/spec.md)
- [x] [Миграция страницы счетов на DS](features/broker-accounts-page-migration/spec.md)
- [x] [Pilot-миграция](features/pilot-migration/spec.md) — HomePage + SearchBar на DS.
- [x] [Security screener](features/security-screener/spec.md) — Phase 1: фильтры, таблица, backend.
- [x] [MVP](features/moex-vibe/spec.md) — поиск, карточки акций/облигаций, графики, дивиденды.
- [x] [Frontend debt audit and backlog](features/frontend-debt-audit/spec.md) — audit frontend-техдолга,
разделение open items на 4 follow-up фичи, синхронизация inbox/roadmap
- [x] [Architecture quality backlog](features/architecture-quality-backlog/spec.md) — docs-only
нормализация architecture backlog, синхронизация roadmap и audit/refactor статусов
- [x] [frontend-docs-sync](features/frontend-docs-sync/spec.md) — синхронизация docs с состоянием кода
- [x] [frontend-infrastructure-hardening](features/frontend-infrastructure-hardening/spec.md) —
browser mock mode, env validation, tooling consistency, contract freshness
- [x] [frontend-shared-boundary-cleanup](features/frontend-shared-boundary-cleanup/spec.md) —
сужение shared/public API, устранение boundary ambiguity
- [x] [frontend-test-hygiene](features/frontend-test-hygiene/spec.md) — минимизация test helpers,
нормализация conventions
### Backend Architecture Improvements
- [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()`
## Кандидаты следующих фич
Ниже опубликован canonical architecture backlog после `architecture-quality-backlog`. Старые granular
заметки folded into these tracks и не должны вестись как параллельные независимые backlog-списки.
- [x] [Миграция таблиц на дизайн-систему](features/table-migration/spec.md) — DividendsTable,
ScreenerTable, SharePositionTable, BondPositionTable мигрированы на `DataTable`. Legacy `shared/ui/Table`
и `TableSkeleton` удалены.
- [ ] T-Bank data isolation and ownership boundaries (P0/P1) — изоляция T-Bank данных по пользователям,
ownership model и backend query boundary до следующих data-flow изменений
- [ ] Backend runtime and auth hardening (P1) — отдельная security/runtime policy итерация: rate limiting,
auth surface hardening, explicit production rules
- [ ] Local T-Bank read-path (P1) — локальная persisted read-модель операций/истории вместо прямого
read-through из T-Bank
- [ ] Session model for multiple surfaces (P1/P2) — device-level sessions, rotation, reuse detection,
явный session contract для нескольких клиентских поверхностей
- [ ] Contract, type-safety, and frontend delivery hardening (P2/P3) — устранение остаточного `as any`,
укрепление API/query boundaries, quality/performance gates и lazy-loading budgets
- [ ] Broker portfolio value history (P2/P3) — хранить снапшоты стоимости брокерского счёта и показать
график динамики портфеля на дашборде
- [x] Broker-events — UX доработки и смешанный календарь.