From fa970d307a9b06341aa93c762fb5008fb798eb0a Mon Sep 17 00:00:00 2001 From: Jean-Luc Makiola Date: Thu, 12 Mar 2026 11:28:43 +0100 Subject: [PATCH] docs: define milestone v1.1 requirements Co-Authored-By: Claude Opus 4.6 --- .planning/REQUIREMENTS.md | 108 ++++++++++++++++++++++++++------------ 1 file changed, 75 insertions(+), 33 deletions(-) diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 43c3dee..46e6c01 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -1,11 +1,11 @@ -# Requirements: SimpleFinanceDash UI Polish +# Requirements: SimpleFinanceDash **Defined:** 2026-03-11 **Core Value:** Opening the app should feel like opening a beautifully designed personal spreadsheet — clean pastel colors, clear data layout, approachable and visually delightful. -## v1 Requirements +## v1.0 Requirements (Complete) -Requirements for this milestone. Each maps to roadmap phases. +All shipped in v1.0 UI Polish milestone. ### Design System @@ -48,6 +48,33 @@ Requirements for this milestone. Each maps to roadmap phases. - [x] **FIX-01**: `formatCurrency` uses the user's locale preference instead of hardcoded `de-DE` - [x] **FIX-02**: `InlineEditRow` extracted into a shared component (currently duplicated in BillsTracker, VariableExpenses, DebtTracker) +## v1.1 Requirements + +Requirements for this milestone. Each maps to roadmap phases. + +### Template System + +- [ ] **TMPL-01**: User can tag a budget item as fixed, variable, or one-off when creating or editing it +- [ ] **TMPL-02**: User can define a monthly budget template containing fixed items (with amounts) and variable items (category only) +- [ ] **TMPL-03**: Navigating to a month with no budget auto-generates one from the user's template (fixed items with amounts, variable items with blank amounts) +- [ ] **TMPL-04**: One-off items are not carried forward to new months +- [ ] **TMPL-05**: User can manage their template on a dedicated page — add, remove, reorder fixed and variable items +- [ ] **TMPL-06**: The "copy from previous month" feature is replaced by template-based generation + +### Quick-Add Library + +- [ ] **QADD-01**: User can save a one-off expense category with an icon to their quick-add library +- [ ] **QADD-02**: User can browse and select from their quick-add library when adding a one-off item to a month +- [ ] **QADD-03**: User can manage their quick-add library — add, edit, remove saved categories + +### Layout & Density + +- [ ] **LYOT-01**: Dashboard sections use flatter, lighter containers instead of heavy bordered cards +- [ ] **LYOT-02**: Table rows are tighter with reduced padding for higher data density +- [ ] **LYOT-03**: Card top padding above colored headers is eliminated +- [ ] **LYOT-04**: Dashboard grid layout is optimized for desktop — maximizes visible data without scrolling +- [ ] **LYOT-05**: Overall visual feel leans toward clean spreadsheet aesthetic — less chrome, more data + ## v2 Requirements Deferred to future release. Tracked but not in current roadmap. @@ -79,9 +106,9 @@ Deferred to future release. Tracked but not in current roadmap. | Custom color picker / theme selector | Explicitly excluded per PROJECT.md; tokens are centralized for future theming | | Animated page transitions (Framer Motion) | JS weight unjustified for data-first app; tw-animate-css covers needed animations | | Toast notifications for every action | Row-level flash feedback is more contextual; toasts only for errors/destructive actions | -| Onboarding wizard | Improved empty states with CTAs are sufficient for single-user self-hosted app | -| New chart types (trend lines, sparklines) | Polish existing charts, don't add new data views | -| CSV import / recurring transactions | Backend features, not UI polish scope | +| Mobile/tablet responsiveness | Desktop web is the only target for now | +| CSV import / recurring transactions | Backend features, separate milestone | +| Shared/household budgets | Future feature | ## Traceability @@ -89,35 +116,50 @@ Which phases cover which requirements. Updated during roadmap creation. | Requirement | Phase | Status | |-------------|-------|--------| -| DSGN-01 | Phase 1 | Complete | -| DSGN-02 | Phase 1 | Complete | -| DSGN-03 | Phase 1 | Complete | -| DSGN-04 | Phase 1 | Complete | -| DSGN-05 | Phase 1 | Complete | -| FIX-02 | Phase 1 | Complete | -| AUTH-01 | Phase 2 | Complete | -| AUTH-02 | Phase 2 | Complete | -| AUTH-03 | Phase 2 | Complete | -| AUTH-04 | Phase 2 | Complete | -| NAV-01 | Phase 2 | Complete | -| NAV-02 | Phase 2 | Complete | -| NAV-03 | Phase 2 | Complete | -| NAV-04 | Phase 2 | Complete | -| IXTN-01 | Phase 3 | Complete | -| IXTN-02 | Phase 3 | Complete | -| IXTN-03 | Phase 3 | Complete | -| IXTN-05 | Phase 3 | Complete | -| STATE-01 | Phase 3 | Complete | -| STATE-02 | Phase 3 | Complete | -| STATE-03 | Phase 3 | Complete | -| IXTN-04 | Phase 4 | Complete | -| FIX-01 | Phase 4 | Complete | +| DSGN-01 | Phase 1 (v1.0) | Complete | +| DSGN-02 | Phase 1 (v1.0) | Complete | +| DSGN-03 | Phase 1 (v1.0) | Complete | +| DSGN-04 | Phase 1 (v1.0) | Complete | +| DSGN-05 | Phase 1 (v1.0) | Complete | +| FIX-02 | Phase 1 (v1.0) | Complete | +| AUTH-01 | Phase 2 (v1.0) | Complete | +| AUTH-02 | Phase 2 (v1.0) | Complete | +| AUTH-03 | Phase 2 (v1.0) | Complete | +| AUTH-04 | Phase 2 (v1.0) | Complete | +| NAV-01 | Phase 2 (v1.0) | Complete | +| NAV-02 | Phase 2 (v1.0) | Complete | +| NAV-03 | Phase 2 (v1.0) | Complete | +| NAV-04 | Phase 2 (v1.0) | Complete | +| IXTN-01 | Phase 3 (v1.0) | Complete | +| IXTN-02 | Phase 3 (v1.0) | Complete | +| IXTN-03 | Phase 3 (v1.0) | Complete | +| IXTN-05 | Phase 3 (v1.0) | Complete | +| STATE-01 | Phase 3 (v1.0) | Complete | +| STATE-02 | Phase 3 (v1.0) | Complete | +| STATE-03 | Phase 3 (v1.0) | Complete | +| IXTN-04 | Phase 4 (v1.0) | Complete | +| FIX-01 | Phase 4 (v1.0) | Complete | +| TMPL-01 | TBD | Pending | +| TMPL-02 | TBD | Pending | +| TMPL-03 | TBD | Pending | +| TMPL-04 | TBD | Pending | +| TMPL-05 | TBD | Pending | +| TMPL-06 | TBD | Pending | +| QADD-01 | TBD | Pending | +| QADD-02 | TBD | Pending | +| QADD-03 | TBD | Pending | +| LYOT-01 | TBD | Pending | +| LYOT-02 | TBD | Pending | +| LYOT-03 | TBD | Pending | +| LYOT-04 | TBD | Pending | +| LYOT-05 | TBD | Pending | **Coverage:** -- v1 requirements: 23 total -- Mapped to phases: 23 -- Unmapped: 0 ✓ +- v1.0 requirements: 23 total (all complete) +- v1.1 requirements: 14 total +- Mapped to phases: 0 +- Unmapped: 14 (pending roadmap creation) --- *Requirements defined: 2026-03-11* -*Last updated: 2026-03-11 after roadmap creation* +*Last updated: 2026-03-12 after v1.1 milestone requirements*