How m-thalmann/actual-dashboard works
Actual Dashboard is a web dashboard for viewing Actual Budget account data. Users sign in, browse accounts, open an account to inspect balances and history, and explore, filter, or export transactions and cash flow. The Angular frontend calls a NestJS API; the backend’s Actual service is the integration layer for the Actual budget server. The README documents that integration, while sampled backend controllers show the API operations; unsampled service wiring is not expanded beyond those documented boundaries.
Main entry points: account-detail.component.ts Account Detail · app.routes.ts App Routes · accounts-data.service.ts Accounts API Client · actual.service.ts Actual Service
Components 22
Dashboard UI
- Login
apps/frontend/src/app/login/login.component.ts - App Routes
apps/frontend/src/app/app.routes.ts - Accounts Overview
apps/frontend/src/app/accounts-overview/accounts-overview.component.ts - Account Detail
apps/frontend/src/app/account-detail/account-detail.component.ts - Account Graphs
apps/frontend/src/app/account-detail/account-detail-graphs/account-detail-graphs.component.ts - Transactions Table
apps/frontend/src/app/account-detail/account-detail-transactions-table/account-detail-transactions-table.component.ts - Transaction Filters
apps/frontend/src/app/account-detail/account-detail-transactions-table/account-detail-filter/account-detail-filter.component.ts - Transaction Export
apps/frontend/src/app/account-detail/account-detail-transactions-table/account-detail-export/account-detail-export.component.ts - Auth Client
apps/frontend/src/app/shared/auth/auth.service.ts - Auth API Client
apps/frontend/src/app/shared/api/auth-data.service.ts - Accounts API Client
apps/frontend/src/app/shared/api/accounts-data.service.ts - Transactions API Client
apps/frontend/src/app/shared/api/transactions-data.service.ts
Dashboard API
- Auth Controller
apps/backend/src/app/auth/auth.controller.ts - Auth Service
apps/backend/src/app/auth/auth.service.ts - Auth Guard
apps/backend/src/app/auth/auth.guard.ts - Accounts Controller
apps/backend/src/app/accounts/accounts.controller.ts - Transactions Controller
apps/backend/src/app/transactions/transactions.controller.ts - General Controller
apps/backend/src/app/general/general.controller.ts
Actual Integration
- Actual Service
apps/backend/src/app/common/actual/actual.service.ts
Shared Contracts
- Shared Types
libs/shared/types/src/index.ts
Other components
- User
- Actual Server
Connections 23
- User → App Routes: navigates
- App Routes → Login: routes login
- App Routes → Accounts Overview: routes accounts
- App Routes → Account Detail: routes detail
- Login → Auth API Client: submits credentials
- Auth API Client → Auth Controller: POST login
- Auth Controller → Auth Service: signs in
- Auth Service → Auth Controller: returns token
- Login → Auth Client: stores session
- Accounts Overview → Accounts API Client: loads accounts
- Account Detail → Accounts API Client: loads account data
- Account Detail → Transactions API Client: loads transactions
- Account Detail → Account Graphs: shows history
- Account Detail → Transactions Table: shows transactions
- Transactions Table → Transaction Filters: filters list
- Transactions Table → Transaction Export: offers export
- Accounts API Client → Accounts Controller: requests account data
- Transactions API Client → Transactions Controller: requests transaction data
- Accounts Controller → Actual Service: reads account data
- Transactions Controller → Actual Service: reads and exports
- General Controller → Actual Service: reloads data
- Actual Service → Actual Server: integrates budget data
- Shared Types → Accounts API Client: types API data