Files

2.2 KiB

Purpose

TBD

Requirements

Requirement: Dashboard shows month-specific financial totals

The system SHALL return month-specific dashboard data for a requested YYYY-MM month using the local machine timezone for month boundaries.

Scenario: Dashboard totals are calculated for a populated month

  • WHEN the user requests the dashboard for a month with expenses and paychecks
  • THEN the system returns total expenses, total paychecks, net cash flow, and a category breakdown for that month

Scenario: Dashboard supports partial current-month data

  • WHEN the user requests the dashboard for the current month before the month is complete
  • THEN the system returns meaningful month-to-date totals and comparisons using the transactions recorded so far

Requirement: Dashboard includes derived spending comparisons

The system SHALL provide derived comparisons for the selected month, including highest category, largest expense, average daily spend, and paycheck coverage information.

Scenario: Derived comparisons are available

  • WHEN the selected month contains enough data for comparisons
  • THEN the system returns the highest category, largest single expense, average daily spend, and spend-versus-paycheck coverage values

Scenario: Derived comparisons degrade safely for sparse data

  • WHEN the selected month has no expenses or otherwise insufficient data for a comparison
  • THEN the system returns null or empty-safe comparison fields instead of failing

ADDED Requirements

Requirement: Monthly dashboard UI renders correctly in both themes

The system SHALL render dashboard sections, insight cards, category bars, stat tiles, and empty states with readable contrast in both light and dark themes.

Scenario: Dashboard renders in dark mode

  • WHEN the user opens the dashboard while dark mode is active
  • THEN the summary cards, comparison cards, progress bars, and empty states use dark-compatible colors and remain readable

Scenario: Dashboard renders in light mode

  • WHEN the user opens the dashboard while light mode is active
  • THEN the summary cards, comparison cards, progress bars, and empty states use light-compatible colors and remain readable