moex-vibe/docs/roadmap.md
Sergey Krylov 58ddb10a92
Some checks failed
CI / ci (pull_request) Failing after 2m56s
CI / ci (push) Failing after 2m54s
docs: update inbox and roadmap with completed backend architecture improvements
2026-06-25 21:05:01 +03:00

8.9 KiB
Raw Blame History

Roadmap

Roadmap отражает порядок продуктовой работы, но сам по себе не является основанием для реализации. Требования и разрешение на реализацию определяются спецификацией конкретной фичи и текущей задачей пользователя.

Завершённые эпики

Аутентификация

  • auth-system — полноценная регистрация, вход, JWT + refresh token, страницы login/register/profile, session provider.

Документация

DevOps

  • ci-cd — Gitea Actions: lint, test, build всех пакетов + Storybook.
  • pre-commit-checks — Husky + lint-staged.

Активные эпики

Портфель брокера

Цель: дать пользователю целостный доступ к реальным брокерским счетам T-Bank.

Портфельная страница

Цель: страница управления портфелями — создание, аналитика, распределение.

Контроль качества

Крупные завершённые работы (вне эпиков)

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. Legacy shared/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 доработки и смешанный календарь.