diff --git a/apps/frontend/src/widgets/broker-events-overview/ui/BrokerEventsOverview.test.tsx b/apps/frontend/src/widgets/broker-events-overview/ui/BrokerEventsOverview.test.tsx index 3b9f21c..73f7922 100644 --- a/apps/frontend/src/widgets/broker-events-overview/ui/BrokerEventsOverview.test.tsx +++ b/apps/frontend/src/widgets/broker-events-overview/ui/BrokerEventsOverview.test.tsx @@ -109,7 +109,7 @@ describe('BrokerEventsOverview', () => { isPlaceholderData: false, isStale: false, refetch: vi.fn(), - promise: Promise.reject(new Error('fail')), + promise: new Promise(() => {}), status: 'error', fetchStatus: 'idle', } as unknown as ReturnType); diff --git a/docs/epics/Authentication.md b/docs/epics/Authentication.md index e81d11e..e9215e6 100644 --- a/docs/epics/Authentication.md +++ b/docs/epics/Authentication.md @@ -1,4 +1,6 @@ -Авторизация +# Аутентификация + +Статус: завершён Features: -- auth-system +- [x] [auth-system](../features/auth-system/spec.md) — регистрация, вход, JWT + refresh token, страницы diff --git a/docs/epics/BrokerPortfolio.md b/docs/epics/BrokerPortfolio.md index a107dde..d7d6635 100644 --- a/docs/epics/BrokerPortfolio.md +++ b/docs/epics/BrokerPortfolio.md @@ -24,14 +24,14 @@ ## Features -- [T-Bank broker portfolios](../features/tbank-broker-portfolios/spec.md) -- [Отображение брокерского портфеля](../features/broker-portfolio-display/spec.md) +- [x] [T-Bank broker portfolios](../features/tbank-broker-portfolios/spec.md) — реализовано +- [x] [Отображение брокерского портфеля](../features/broker-portfolio-display/spec.md) — реализовано - [x] [Разделы брокерского счёта](../features/broker-account-sections/spec.md) — реализовано -- [Информативный обзор брокерских счетов](../features/broker-accounts-overview/spec.md) +- [x] [Информативный обзор брокерских счетов](../features/broker-accounts-overview/spec.md) — реализовано - [x] [Календарь событий и прогноз будущих выплат брокерского счёта](../features/broker-events-and-payouts/spec.md) — реализовано -- [Улучшение UI операций](../features/broker-operations-ui-improvements/spec.md) -- [Пагинация и загрузка позиций](../features/broker-positions-pagination-and-loading/spec.md) -- [Исправление deadline и очереди T-Bank](../features/tbank-deadline-queue-fix/spec.md) +- [x] [Исправление deadline и очереди T-Bank](../features/tbank-deadline-queue-fix/spec.md) — реализовано +- [~] [Улучшение UI операций](../features/broker-operations-ui-improvements/spec.md) — черновик, частично +- [~] [Пагинация и загрузка позиций](../features/broker-positions-pagination-and-loading/spec.md) — черновик, частично ## Критерий завершения эпика diff --git a/docs/epics/DevOps.md b/docs/epics/DevOps.md index 31653c2..be92676 100644 --- a/docs/epics/DevOps.md +++ b/docs/epics/DevOps.md @@ -1,5 +1,7 @@ -Developer Operations +# Developer Operations + +Статус: завершён Features: -- ci-cd -- pre-commit-checks +- [x] [ci-cd](../features/ci-cd/spec.md) — Gitea Actions pipeline +- [x] [pre-commit-checks](../features/pre-commit-checks/spec.md) — Husky + lint-staged diff --git a/docs/epics/Documentation.md b/docs/epics/Documentation.md index fecac13..221482b 100644 --- a/docs/epics/Documentation.md +++ b/docs/epics/Documentation.md @@ -1,5 +1,7 @@ -Документация +# Документация + +Статус: завершён Features: -- docusaurus-docs -- russian-docs-and-architecture-diagrams +- [x] [docusaurus-docs](../features/docusaurus-docs/spec.md) +- [x] [russian-docs-and-architecture-diagrams](../features/russian-docs-and-architecture-diagrams/spec.md) diff --git a/docs/epics/PortfolioDasboard.md b/docs/epics/PortfolioDasboard.md deleted file mode 100644 index 7ecabfc..0000000 --- a/docs/epics/PortfolioDasboard.md +++ /dev/null @@ -1,9 +0,0 @@ -Страница портфеля - -Features: -- pagination-loading-overlay -- portfolio -- portfolio-allocation-chart -- portfolio-analytics -- portfolio-enricher-optimization -- portfolio-list-enrichment diff --git a/docs/epics/PortfolioDashboard.md b/docs/epics/PortfolioDashboard.md new file mode 100644 index 0000000..3b65093 --- /dev/null +++ b/docs/epics/PortfolioDashboard.md @@ -0,0 +1,16 @@ +# Портфельная страница + +Статус: активный + +## Цель + +Страница управления ручными портфелями — создание, редактирование, аналитика, распределение активов. + +## Features + +- [x] [pagination-loading-overlay](../features/pagination-loading-overlay/spec.md) +- [x] [portfolio](../features/portfolio/spec.md) +- [x] [portfolio-allocation-chart](../features/portfolio-allocation-chart/spec.md) +- [x] [portfolio-analytics](../features/portfolio-analytics/spec.md) +- [x] [portfolio-enricher-optimization](../features/portfolio-enricher-optimization/spec.md) +- [x] [portfolio-list-enrichment](../features/portfolio-list-enrichment/spec.md) diff --git a/docs/epics/QualityAssurance.md b/docs/epics/QualityAssurance.md index 37929b5..6d37526 100644 --- a/docs/epics/QualityAssurance.md +++ b/docs/epics/QualityAssurance.md @@ -1,5 +1,7 @@ -Контроль качества +# Контроль качества + +Статус: активный Features: -- frontend-test-coverage -- quality-gate-contract-docs +- [x] [frontend-test-coverage](../features/frontend-test-coverage/spec.md) +- [~] [quality-gate-contract-docs](../features/quality-gate-contract-docs/spec.md) — частично diff --git a/docs/roadmap.md b/docs/roadmap.md index 07c19ee..322720b 100644 --- a/docs/roadmap.md +++ b/docs/roadmap.md @@ -4,25 +4,87 @@ 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. + ## Активные эпики ### [Портфель брокера](epics/BrokerPortfolio.md) -Цель: сделать реальные брокерские счета понятными на уровне обзора, позиций и операций. +Цель: дать пользователю целостный доступ к реальным брокерским счетам T-Bank. -- [x] [Разделы брокерского счёта](features/broker-account-sections/spec.md) — реализовано. -- [x] [Информативный обзор брокерских счетов](features/broker-accounts-overview/spec.md) — реализовано. -- [x] [Календарь событий и прогноз будущих выплат брокерского счёта](features/broker-events-and-payouts/spec.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 обогащение. +- [~] [Улучшение UI операций](features/broker-operations-ui-improvements/spec.md) — черновик, + `keepPreviousData` внедрён, `formatMoney` с префиксом не реализован. +- [~] [Пагинация и загрузка позиций](features/broker-positions-pagination-and-loading/spec.md) — + черновик, пагинация и скелетоны есть, отдельная секция позиций не выделена. -## Следующие этапы для активной фичи +### [Портфельная страница](epics/PortfolioDashboard.md) -1. [x] Проверить и утвердить `spec.md` для планирования. -2. [x] Проверить и утвердить подготовленные `plan.md` и `tasks.md`. -3. [x] Получить отдельное подтверждение пользователя перед началом реализации. +Цель: страница управления портфелями — создание, аналитика, распределение. + +- [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. +- [~] [Аналитика портфеля](features/portfolio-analytics/spec.md) — Phase 1 (cost basis + PnL) + реализован; Phase 2 (дивиденды) и Phase 3 (target allocation) частично. +- [~] [Пагинация и overlay загрузки](features/pagination-loading-overlay/spec.md) — черновик, + `keepPreviousData` и `loading-spinner` есть, компонент `TableLoadingOverlay` не выделен. + +### [Контроль качества](epics/QualityAssurance.md) + +- [x] [Покрытие frontend-тестами](features/frontend-test-coverage/spec.md) — Vitest + Testing Library + + MSW, тесты в colocation. +- [~] [Quality gate и контрактная документация](features/quality-gate-contract-docs/spec.md) — + docs обновлены, OpenAPI актуален; некоторые AC в работе. + +## Крупные завершённые работы (вне эпиков) + +- [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) — поиск, карточки акций/облигаций, графики, дивиденды. ## Кандидаты следующих фич - [ ] [Миграция таблиц на дизайн-систему](features/table-migration/spec.md) — перевести legacy-таблицы - frontend на `DataTable` поверх `TanStack Table` без изменения бизнес-логики. + на `DataTable` поверх `TanStack Table`. +- [ ] Аналитика портфеля Phases 2–3 — дивидендный доход, сравнение с target allocation. +- [ ] Quality gate — завершить оставшиеся AC. +- [ ] Broker-events — UX доработки и смешанный календарь.