globaltrust-bank¶
End-to-end example project for the Apogee Framework. A fictional international bank built using every module: relational + NoSQL + vector storage, RBAC + MFA, RAG-powered compliance, multi-currency (USD/EUR/BRL/CNY) and multi-language (EN/PT/ES/ZH) support.
What this example demonstrates¶
| Concern | How it is shown |
|---|---|
| Clean Architecture | One bounded context per banking concern: customers, accounts, transactions, fx, compliance |
| Relational data | PostgreSQL — accounts, transactions, FX rates, ledger |
| NoSQL data | MongoDB — audit log, KYC documents |
| Vector data | Qdrant — RAG over T&Cs and regulations |
| LLM integration | apogee-ai-providers — OpenRouter/Anthropic/OpenAI |
| Agent layer | apogee-ai — compliance officer + FX advisor agents |
| Auth | apogee-auth — RBAC (customer/teller/compliance/admin) + MFA |
| Frontend | apogee-frontend — shadcn/ui SPA, i18n EN/PT/ES/ZH |
| Multi-currency | USD, EUR, BRL, CNY — FX with locale-aware formatting |
| Multi-language | UI, emails, T&Cs in 4 languages |
How to use this site¶
- Read the Overview to understand the architecture.
- Run locally by following Run locally.
- Read the rendered Notebooks here, or run them locally to interact with the example end-to-end.
Where the code lives¶
The implementation lives at app-tests-docs/globaltrust-bank/ in the Apogee Framework repository (versioned, public — distinct from the legacy internal app-tests/). The project was generated with:
apogee new globaltrust-bank
apogee make:domain banking
apogee make:context customers --domain banking
# ...one context per banking concern
apogee make:entity Customer --domain banking --context customers --fields ...
# ...one entity per concept
apogee add:postgres ; apogee add:mongo ; apogee add:qdrant ; apogee add:pgvector
That is all the manual code-gen — no domain/application/infrastructure code was hand-written for this example.