4.6 KiB
4.6 KiB
Календарь событий и прогноз будущих выплат брокерского счёта — задачи
Статус: запланировано
Связанные документы:
1. Подготовка и gate
- Получить отдельное подтверждение
spec.md,plan.mdиtasks.mdперед началом кода. - Подтвердить, что первая версия ограничена T-Bank-сценарием и расчётом по текущим позициям.
- Зафиксировать, что follow-up по historical entitlement, налогам и полной купонной сетке не входят в первую реализацию.
2. Backend contract
- Добавить новый broker endpoint событий с обязательными параметрами
fromиto. - Описать Swagger DTO для query, response item, summary и envelope.
- Синхронизировать backend internal types для списка событий и summary.
3. Backend aggregation
- Добавить
BrokerEventsServiceвTBankModule. - Собрать текущие позиции счёта через существующий backend path без frontend-композиции.
- Построить dividend events по MOEX dividend data.
- Построить coupon, maturity и offer events по MOEX bond enrichment.
- Рассчитывать
estimatedAmountтолько там, где для этого достаточно данных. - Реализовать best-effort деградацию по отдельным инструментам.
- Добавить кэширование результата по
accountId + from + to.
4. Backend tests
- Покрыть дивиденды, купоны, погашения и оферты unit-тестами.
- Проверить включительные границы диапазона дат.
- Проверить partial-failure сценарий, где один инструмент не ломает весь ответ.
- Проверить controller response shape и валидацию query.
5. Frontend data layer
- Добавить entity/hook для чтения broker events.
- Добавить handwritten response types для событий и summary.
- Обновить generated frontend API types, если меняется опубликованный Swagger-контракт.
6. Интерфейс overview
- Добавить overview-виджет ближайших событий для выбранного счёта.
- Показать не более 5 ближайших событий.
- Добавить ссылку на полную вкладку
События. - Реализовать loading, empty и local error state без поломки overview.
7. Вкладка События
- Добавить новый раздел
СобытиявBrokerAccountLayout. - Добавить маршрут
/broker/:accountId/events. - Реализовать выбор диапазона дат.
- Реализовать summary по выбранному периоду.
- Реализовать список событий с признаком
estimate. - Разделить денежные и неденежные события на уровне представления.
8. Frontend tests
- Покрыть hook событий тестами query lifecycle.
- Покрыть overview-виджет сценариями loading, empty, error и success.
- Покрыть страницу
Событиясменой диапазона, отображением summary и пустым состоянием. - Проверить наличие новой вкладки в навигации счёта.
9. Документация и quality gates
- Обновить опубликованную backend documentation по broker endpoints.
- Прогнать backend tests.
- Прогнать frontend tests.
- Прогнать backend build.
- Прогнать frontend build.
- Прогнать docs build, если менялась опубликованная документация.
- Отметить roadmap и связанные SDD-статусы только после полной проверки реализации.