9.5 KiB
9.5 KiB
Roadmap
Roadmap отражает порядок продуктовой работы, но сам по себе не является основанием для реализации. Требования и разрешение на реализацию определяются спецификацией конкретной фичи и текущей задачей пользователя.
Завершённые эпики
Аутентификация
- auth-system — полноценная регистрация, вход, JWT + refresh token, страницы login/register/profile, session provider.
Документация
- docusaurus-docs — 30+ страниц документации, ADR, диаграммы.
- russian-docs-and-architecture-diagrams — документация на русском, декомпозированные схемы архитектуры.
DevOps
- ci-cd — Gitea Actions: lint, test, build всех пакетов + Storybook.
- pre-commit-checks — Husky + lint-staged.
Активные эпики
Backend Architecture
Цель: удерживать backend-архитектуру, security boundaries и published contracts в состоянии, пригодном для безопасного развития продукта.
- Backend Architecture Improvements — envelope DTO, screener TTL, domain exceptions, health checks, middleware DI, MoexClient split.
- Backend Architecture Refactor — refactor-only итерация: error masking, production config hardening, DTO validation, typed T-Bank boundary, cache metadata, backend docs sync.
Портфель брокера
Цель: дать пользователю целостный доступ к реальным брокерским счетам T-Bank.
- T-Bank broker portfolios — интеграция с gRPC, синхронизация счетов/позиций/операций.
- Отображение брокерского портфеля — таблицы позиций по классам, история операций с пагинацией.
- Разделы брокерского счёта — навигация по вкладкам, обзор/позиции/операции/события.
- Информативный обзор брокерских счетов — сводка по всем счетам с агрегацией.
- Календарь событий и прогноз будущих выплат — вкладка событий и прогноз выплат по диапазону дат.
- Исправление deadline и очереди T-Bank — deadline внутри PQueue, best-effort обогащение.
- Улучшение UI операций
- Пагинация и загрузка позиций
- Аналитика прибыльности брокерского счёта — endpoint и вкладка аналитики: вложения, дивиденды, купоны, доходность
Портфельная страница
Цель: страница управления портфелями — создание, аналитика, распределение.
- Portfolio CRUD — создание/редактирование ручных портфелей, добавление позиций.
- График распределения — SVG donut chart.
- Обогащение списка портфелей — batch MOEX обогащение (totalValue, positionCount).
- Оптимизация обогащения — batch-методы MoexClient.
- Аналитика портфеля — Phases 1–3: cost basis + PnL, дивидендный доход, target allocation.
- Пагинация и overlay загрузки — overlay + спиннер при переключении страниц во всех брокерских таблицах (Positions + Operations)
Контроль качества
- Покрытие frontend-тестами — Vitest + Testing Library + MSW, тесты в colocation.
- Quality gate и контрактная документация — docs обновлены, OpenAPI актуален, openapi-artifacts проверка добавлена.
Крупные завершённые работы (вне эпиков)
- FSD-миграция фронтенда — поэтапный переход на Feature-Sliced Design через 10+ features: entities, shared, market pages, broker pilot, portfolios, screener, app-auth, cleanup, final.
- Дизайн-система —
@moex-vibe/design-system: три уровня токенов, MUI theme, DataTable, базовые компоненты, Storybook. - Миграция брокерских разделов на DS
- Миграция страницы счетов на DS
- Pilot-миграция — HomePage + SearchBar на DS.
- Security screener — Phase 1: фильтры, таблица, backend.
- MVP — поиск, карточки акций/облигаций, графики, дивиденды.
- Frontend debt audit and backlog — audit frontend-техдолга, разделение open items на 4 follow-up фичи, синхронизация inbox/roadmap
- frontend-docs-sync — синхронизация docs с состоянием кода
- frontend-infrastructure-hardening — browser mock mode, env validation, tooling consistency, contract freshness
- frontend-shared-boundary-cleanup — сужение shared/public API, устранение boundary ambiguity
- frontend-test-hygiene — минимизация test helpers, нормализация conventions
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()
Кандидаты следующих фич
- Миграция таблиц на дизайн-систему — DividendsTable,
ScreenerTable, SharePositionTable, BondPositionTable мигрированы на
DataTable. Legacyshared/ui/TableиTableSkeletonудалены. - T-Bank data isolation and multi-tenancy (P0/P1) — изолировать данные T-Bank по пользователям, ownership модель
- API envelope runtime contract (P1) — устранить double-wrapping, унифицировать envelope
- Auth security hardening (P1) — production-секреты, CORS allowlist, error masking, rate limiting
- Local T-Bank read-path (P1) — чтение истории операций из локальной БД вместо прямого вызова T-Bank
- Session model for multiple surfaces (P1/P2) — device-level сессии, rotation, reuse detection
- Type safety hardening (P2) — включение
no-explicit-any, устранениеas anyв gRPC/screener/tests - Testing strategy expansion (P2) — coverage thresholds, contract tests, Playwright smoke
- Frontend delivery optimization (P3) — route-level lazy loading, performance budgets
- Broker-events — UX доработки и смешанный календарь.