Roadmap¶
Источник правды по задачам — GitHub Project finguide и roadmap issue #27. Ниже — сжатая версия для GitHub Pages.
Уже сделано¶
Даты восстановлены по коммитам, где связь была очевидна; иначе использовано окно createdAt → closedAt issue.
Foundation — 2026-04-29¶
- #1 — embedded H2 persistence for demo plans — commit
fcb1b01. - #2 — real plan read endpoints — commit
961b7ad. - #6 — Swagger на real services/backend вместо mock — commits
c8439bf,d2bfa24. - #5 — real Spring backend behind nginx — deployment window around
c8439bf/75f78f6. - finguide-web#1 — frontend default API base to real backend — commit
ad45332.
Core CRUD/Auth — 2026-04-29 → 2026-05-01¶
- #3 — income/expense/goal CRUD — commit
8af4996. - #9 — auth API endpoints — issue window 2026-04-29.
- #18 — Keycloak OIDC для backend/frontend — backend
941c0e7, web2ab2595, polish до 2026-04-30. - #20 — registered full name вместо placeholder — merge
36c3d1d. - #22 — user-owned current plan after login — commit
5b36524. - #24 — no demo/default plan flash during session restore — backend
d6213d1, web1197b24. - finguide-web#5 — sidebar counters from persisted plan — commit
d92aea0.
Дальше¶
CI/CD и guardrails — 2026-05-14¶
- Backend auto-deploy из
mainчерез self-hosted GitHub Actions runner на66.42.121.18— commit1ed1fed. - Frontend auto-deploy из
mainчерез self-hosted GitHub Actions runner на66.42.121.18— web commitce9e8eb. - #16 — OpenAPI coverage guard для real Swagger — commit
3cc7165.
Roadmap pivot: FinPlan design system — 2026-05-14+¶
Новый frontend-дизайн finguide-web#7 меняет порядок работ: это не разовая косметическая задача, а UX/UI-направление, которое нужно вести параллельно с backend-доменом. Внедрение идёт вручную в текущий React/Vite frontend, без прямого импорта сгенерированного Figma-кода.
Базовые правила:
- большой redesign дробится на маленькие issues/PR с visual before/after screenshots;
- сначала фиксируются design tokens, app shell и shared UI primitives;
- backend endpoints делаются в том порядке, в котором они разблокируют реальные экраны;
- недостающие API fields из Figma-design выносятся в backend follow-up issues, а не маскируются mock-данными во frontend.
Now — persisted analytics follow-up, UI foundation¶
- #26 — запретить мутацию общего anonymous demo seed plan — PR #28, merge
08776ab. - #4 — analytics/cashflow/pension из persisted state: persisted assumptions/balance/projection/pension endpoints, TDD coverage, OpenAPI gap уменьшен до 26 операций — PR #29, merge
d430187. - #11 — persisted pension settings endpoints
GET/PATCH /plans/{planId}/pension, TDD coverage, OpenAPI gap уменьшен до 24 операций. - #10 — legacy/deprecated contributions ledger endpoints
GET/POST /plans/{planId}/contributions,GET/PATCH/DELETE /plans/{planId}/contributions/{id}, TDD coverage, OpenAPI gap уменьшен до 19 операций. - #12 — budget/monthly tracker endpoints
GET/PATCH /plans/{planId}/budget,POST /plans/{planId}/budget/envelopes/autogenerate,GET/POST /plans/{planId}/calendar/monthly-tracker, TDD coverage, OpenAPI gap уменьшен до 14 операций. - #13 — scenarios CRUD/compare endpoints
GET/POST /scenarios,GET/PATCH/DELETE /scenarios/{scenarioId},POST /scenarios/compare, TDD coverage, OpenAPI gap уменьшен до 9 операций. - finguide-web#7 — выделить первые implementation issues: design tokens, app shell/sidebar/topbar, shared UI primitives, dashboard desktop target.
Next — frontend contract smoke + first redesigned screens¶
- finguide-web#2 — smoke generated client после стабилизации контракта.
- Frontend по finguide-web#7: dashboard redesign и onboarding/common data screens.
Then — tracker, scenario tables¶
- Tracking journal persistence — backend
GET/POST/PATCH/DELETE /plans/{planId}/tracker/entries+ frontend/trackingreal API integration. - Frontend по finguide-web#7: incomes/expenses, goals, scenario tables, tracker UI polish.
Later — account, replace-plan, async perimeter, polish¶
- #7 — replace current plan endpoint.
- #8 — profile/avatar/account endpoints.
- #14 — import/export jobs.
- #15 — notifications endpoints.
- Frontend по finguide-web#7: settings/account, FAQ/help, instruction modals, final visual polish.
Почему такой порядок¶
- Guardrails первыми: OpenAPI coverage уже зафиксирован, seed immutability нужна до дальнейших мутаций demo state.
- Persisted analytics остаётся ядром продуктовой ценности: без неё redesign будет красивой оболочкой над неполными расчётами.
- FinPlan design foundation запускается параллельно, чтобы не переделывать каждую страницу дважды.
- Pension settings и legacy contributions шли до tracker/scenarios; текущий canonical write-path для фактических goal outflows — tracker operation journal.
- Tracker/scenarios/account/import/export/notifications двигаются после базовой стабилизации домена и UI primitives.