Skip to content

feat: Multi-account financial overview dashboard#662

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

feat: Multi-account financial overview dashboard#662
chengyixu wants to merge 1 commit intorohitdash08:mainfrom
chengyixu:feat/multi-account-overview-dashboard

Conversation

@chengyixu
Copy link

/claim #132

Summary

Implements a comprehensive multi-account financial overview dashboard that allows users to link and manage multiple bank/financial accounts with a unified view across all accounts.

Backend

  • FinancialAccount model with 7 account types: CHECKING, SAVINGS, CREDIT_CARD, INVESTMENT, LOAN, CASH, OTHER
  • Full CRUD API at /accounts with soft-delete (deactivation) support
  • Aggregated overview at /accounts/overview computing:
    • Net worth (total assets minus total liabilities)
    • Total assets and total liabilities
    • Per-account monthly income, expenses, net flow, and transaction count
    • Combined recent transactions across all accounts
  • Per-account transactions at /accounts/{id}/transactions with pagination
  • Expenses linked to accounts via new account_id foreign key
  • SQL schema migration for financial_accounts table and expenses.account_id
  • OpenAPI spec updated with all new endpoints and schemas

Frontend

  • New /accounts page with:
    • Net Worth, Total Assets, Total Liabilities, Monthly Net summary cards
    • Accounts grouped by type with per-account income/expense stats
    • Create/edit account dialog (name, type, institution, balance, currency)
    • Soft-delete accounts
    • Cross-account recent transactions sidebar
    • Month selector for period filtering
  • Navigation bar updated with "Accounts" link
  • Route registered in App.tsx

Tests

  • 18 new backend pytest tests covering:
    • CRUD operations (create, list, get, update, soft-delete)
    • Validation (name required, invalid type)
    • Overview aggregation (empty, with accounts, with transactions, month filter)
    • Per-account transactions
    • Edge cases (not found, all account types)
  • 8 frontend integration tests covering:
    • Page rendering and summary cards
    • Account grouping by type
    • Recent transactions display
    • Empty state and error handling
  • All 40 backend tests passing (18 new + 22 existing, zero regressions)

Documentation

  • README updated with accounts endpoints, schema, and UI plan
  • OpenAPI spec includes FinancialAccount, AccountsOverview schemas

Test plan

  • All 40 backend tests pass (pytest tests/ -v)
  • Frontend integration tests cover core Accounts page functionality
  • Zero regressions on existing test suite
  • Schema backward-compatible (new table + nullable column addition)
  • Manual verification: create accounts of different types, check overview aggregation
  • Manual verification: link transactions to accounts, verify per-account breakdown

Add comprehensive multi-account support allowing users to link and manage
multiple bank/financial accounts with a unified overview dashboard.

Backend:
- FinancialAccount model with 7 account types (CHECKING, SAVINGS,
  CREDIT_CARD, INVESTMENT, LOAN, CASH, OTHER)
- Full CRUD API at /accounts with soft-delete support
- Aggregated overview endpoint at /accounts/overview computing net worth,
  total assets, total liabilities, per-account monthly income/expenses,
  and combined recent transactions
- Per-account transaction listing at /accounts/{id}/transactions
- Expenses now support account_id foreign key for account linking
- SQL schema migration for financial_accounts table and expenses.account_id
- OpenAPI spec updated with all new endpoints and schemas
- Cache key helper for accounts overview

Frontend:
- New /accounts page with net worth, assets, liabilities, monthly net
  summary cards
- Accounts grouped by type with per-account income/expense stats
- Create/edit account dialog with type, institution, balance, currency
- Soft-delete (deactivate) accounts with confirmation
- Cross-account recent transactions sidebar
- Navigation updated with Accounts link
- Route added to App.tsx

Tests:
- 18 new backend pytest tests covering CRUD, overview aggregation,
  per-account transactions, edge cases, all account types
- 8 frontend integration tests for the Accounts page
- All 40 backend tests passing (18 new + 22 existing)

Documentation:
- README updated with accounts endpoints, schema, and UI plan

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant