Architecture Diagram
flowchart TB
%% CLIENTS
subgraph Clients
WebApp["Web App (Next.js / React)"]
MobileApp["Mobile App"]
end
%% EDGE / API
subgraph Edge
APIGW["API Gateway / BFF"]
end
WebApp --> APIGW
MobileApp --> APIGW
%% CORE DOMAINS
subgraph CoreDomains["Core Domain Services"]
LEDGER["Ledger & Cashflow"]
CAT["Categorization & Intelligence"]
BUD["Budgeting & Planning"]
GOALS["Goals & Savings"]
DEBT["Debt & Credit"]
FCAST["Forecasting & Advice"]
end
%% SUPPORTING DOMAINS
subgraph SupportingDomains["Supporting Services"]
ING["Data Ingestion"]
BILLS["Bills & Subscriptions"]
INV["Investments & Net Worth"]
REPRT["Reporting & Tax"]
HH["Household & Shared Finances"]
end
%% GENERIC DOMAINS
subgraph GenericDomains["Generic / Platform Services"]
IAM["Identity & Access"]
CONS["Consent & Privacy"]
NOTIF["Notifications"]
DOCS["Document Management"]
ANALYTICS["Analytics & Insights"]
end
%% DATA LAYER
subgraph DataInfra["Data & Infrastructure"]
DB["PostgreSQL"]
CACHE["Redis"]
BUS["Event Bus (Kafka / SQS)"]
STORAGE["Object Storage (S3)"]
MON["Monitoring / Logs"]
end
%% EXTERNAL
subgraph External["External Providers"]
BANK["Bank APIs (Plaid / Teller)"]
BROKER["Brokerage / Market Data"]
MAIL["Email / Push / SMS"]
OAUTH["OAuth IdPs (Google / Apple)"]
end
%% FLOWS
APIGW --> LEDGER
APIGW --> CAT
APIGW --> BUD
APIGW --> GOALS
APIGW --> DEBT
APIGW --> FCAST
APIGW --> BILLS
APIGW --> INV
APIGW --> REPRT
APIGW --> HH
APIGW --> DOCS
APIGW --> IAM
LEDGER --- DB
CAT --- DB
BUD --- DB
GOALS --- DB
DEBT --- DB
FCAST --- CACHE
DOCS --- STORAGE
ALL[All Services] -.-> BUS
ING --> BANK
INV --> BROKER
NOTIF --> MAIL
IAM --> OAUTH
BUS --> CAT
BUS --> BUD
BUS --> FCAST
BUS --> NOTIF