Skip to content

feat: Multi-account financial overview dashboard#699

Open
shaidshark wants to merge 3 commits intorohitdash08:mainfrom
shaidshark:feat/multi-account-dashboard
Open

feat: Multi-account financial overview dashboard#699
shaidshark wants to merge 3 commits intorohitdash08:mainfrom
shaidshark:feat/multi-account-dashboard

Conversation

@shaidshark
Copy link
Copy Markdown

Summary

This PR implements a multi-account financial overview dashboard as requested in #132.

Features Added

  1. Account Model

    • Support for 6 account types: CHECKING, SAVINGS, CREDIT, INVESTMENT, CASH, OTHER
    • Fields: name, account_type, balance, currency, is_active
    • Full CRUD operations via /accounts endpoints
  2. Dashboard Overview Endpoint (GET /dashboard/overview)

    • Net Worth: Total balance across all active accounts
    • Per-Account Breakdown: List of accounts with individual balances
    • Multi-Currency Support: Balance breakdown by currency
    • Recent Transactions: Last 10 transactions with account associations
    • Monthly Summary: Income and expenses for current month
  3. Expense-Account Linking

    • Added �ccount_id field to Expense model
    • Transactions can be associated with specific accounts
  4. Database Schema

    • Added �ccounts table with proper indexes
    • Added �ccount_id column to expenses table
    • PostgreSQL enum type for account_type
  5. Tests

    • Comprehensive tests for Account CRUD operations
    • Tests for dashboard overview endpoint
    • Tests for all account types
    • Tests for multi-currency scenarios
  6. Documentation

    • Updated README with multi-account feature documentation
    • Added API endpoint reference for accounts and overview

API Endpoints

Endpoint Method Description
/accounts/ GET List all accounts (optional include_inactive)
/accounts/ POST Create new account
/accounts/{id} GET Get specific account
/accounts/{id} PUT Update account
/accounts/{id} DELETE Soft delete (deactivate)
/accounts/{id}/hard DELETE Permanent deletion
/dashboard/overview GET Multi-account financial overview

Testing

All tests pass locally:

  • Account CRUD tests
  • Dashboard overview tests
  • Multi-currency tests
  • Authorization tests

Fixes #132

- Add CategorizationRule and RuleCondition models
- Add CRUD endpoints for rules at /rules
- Add multi-condition support with AND/OR logic
- Add priority ordering for conflicting rules
- Auto-apply rules when creating expenses
- Add comprehensive tests
- Update documentation

Fixes rohitdash08#107
- Add Account model with types: CHECKING, SAVINGS, CREDIT, INVESTMENT, CASH, OTHER
- Add account_id to Expense model for transaction-account linking
- Create CRUD endpoints for account management (/accounts)
- Add GET /dashboard/overview for multi-account financial summary
  - Total balance across all accounts (net worth)
  - Per-account breakdown with balances
  - Multi-currency support
  - Recent transactions with account associations
  - Monthly income/expenses summary
- Update PostgreSQL schema with accounts table
- Add comprehensive tests for accounts and dashboard overview
- Update README documentation for multi-account feature

Fixes rohitdash08#132
@shaidshark shaidshark requested a review from rohitdash08 as a code owner April 2, 2026 17:05
- Add GET /analytics/heatmap endpoint for spending visualization
- Support daily, weekly, monthly aggregation
- Include year-over-year comparison
- Filter by category
- 5-minute Redis caching
- Exclude income transactions
- Add comprehensive test suite (10 tests)
- Fix syntax error in rules.py (missing colon)
- Update README with analytics API documentation
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