Skip to content

feat: multi-account financial overview dashboard (#132)#620

Open
DeekRoumy wants to merge 1 commit intorohitdash08:mainfrom
DeekRoumy:feat/multi-account-dashboard
Open

feat: multi-account financial overview dashboard (#132)#620
DeekRoumy wants to merge 1 commit intorohitdash08:mainfrom
DeekRoumy:feat/multi-account-dashboard

Conversation

@DeekRoumy
Copy link

Summary

Closes #132

Implements a full multi-account financial overview dashboard, allowing users to manage and view all their financial accounts (bank accounts, credit cards, investments, loans, etc.) in a single unified view.


What's Changed

Backend

New model: FinancialAccount

  • Fields: name, account_type (CHECKING / SAVINGS / CREDIT_CARD / INVESTMENT / LOAN / CASH / OTHER), balance, currency, institution, last_four, color, include_in_overview, active
  • Soft-delete pattern (set active=False)

New REST API /accounts:

Method Path Description
GET /accounts List active accounts
POST /accounts Create account
GET /accounts/{id} Get account
PATCH /accounts/{id} Update account
DELETE /accounts/{id} Deactivate account
GET /accounts/overview Aggregated multi-account overview

GET /accounts/overview returns:

  • totals: net_worth, total_assets, total_liabilities
  • monthly_summary: income, expenses, net_flow for selected month
  • accounts: full list of accounts
  • upcoming_bills: next due bills
  • category_breakdown: expense breakdown by category

Schema: Added financial_accounts table to db/schema.sql with account_type enum and index.

Tests: 31 new tests in tests/test_accounts.py — all passing. Also updated conftest.py to use fakeredis for test isolation (fixes existing tests running without a Redis server).


Frontend

New API client: app/src/api/accounts.ts — full TypeScript types + all API calls.

New page: MultiAccountDashboard at /accounts:

  • Net worth summary — total assets, total liabilities, net worth cards
  • Monthly summary — income, expenses, net cash flow (month picker)
  • Account grid — color-coded cards per account with edit/delete actions
  • Add/Edit dialog — full form (name, type, balance, currency, institution, last four, color, include in overview toggle)
  • Upcoming bills list
  • Category breakdown progress bar chart
  • Refresh button

Navbar: Added Accounts link.
Router: Registered /accounts route in App.tsx.


Testing

cd packages/backend
pip install fakeredis  # one-time
pytest tests/test_accounts.py -v  # 31 tests, all pass
pytest tests/                     # 53 total tests, all pass

Acceptance Criteria

  • Production-ready implementation
  • Includes tests (31 new backend tests)
  • Documentation updated (this PR description)

Add support for viewing multiple financial accounts in one dashboard view.

## Backend
- New  SQLAlchemy model with fields: name, account_type
  (CHECKING/SAVINGS/CREDIT_CARD/INVESTMENT/LOAN/CASH/OTHER), balance,
  currency, institution, last_four, color, include_in_overview, active
- CRUD REST API at /accounts (list, create, get, patch, delete/deactivate)
- Aggregate overview endpoint GET /accounts/overview with:
  - net_worth, total_assets, total_liabilities across all accounts
  - monthly income/expenses/net_flow for selected month
  - upcoming bills and category breakdown
- Updated db/schema.sql with financial_accounts table + index
- 31 new backend tests covering CRUD + overview logic (all passing)
- Updated conftest.py to use fakeredis, fixing test isolation for all
  existing tests (no Redis server required)

## Frontend
- New /api/accounts.ts client with full TypeScript types
- New MultiAccountDashboard page (/accounts route):
  - Net worth summary cards (assets, liabilities, net worth)
  - Monthly cash flow summary (income, expenses, net flow)
  - Account cards grid with color-coded type icons
  - Create/edit account dialog with all fields
  - Soft-delete (deactivate) with confirm prompt
  - Upcoming bills list
  - Category breakdown progress bars
  - Month picker and refresh button
- Added 'Accounts' link to Navbar
- Registered /accounts route in App.tsx router

Closes rohitdash08#132
@DeekRoumy DeekRoumy requested a review from rohitdash08 as a code owner March 23, 2026 03:34
@DeekRoumy
Copy link
Author

Hi! Just following up on this PR — it's been over 12 hours since submission. Let me know if there's any feedback or changes needed and I'll address them right away. Thanks for your time! 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Multi-account financial overview dashboard

1 participant