Treasury & ALM platform for African banks — six regulatory engines (IRRBB, Liquidity, FX, Basel, FTP, Forecasting), live data engine, and Bank of Ghana regulatory reporting.
# AequorOS
Treasury and ALM infrastructure for African banks. Six regulatory modules
(IRR · Liquidity · FX · Basel Capital · FTP · Balance Sheet Forecasting) computed
server-side on tenant-isolated, effective-dated data for a Bank of Ghana licensee.
## Repository layout
```
aequorOS/
├── backend/ # ── THE PRODUCT ──
│ ├── app/ # FastAPI service: all engines (IRR, Liquidity, FX,
│ │ # Basel, FTP, Forecasting), app/ml LSTM, Data Engine,
│ │ # Postgres + RLS tenancy, BoG submissions
│ ├── dashboard/ # the product UI (Next.js) → bank.aequoros.com
│ ├── alembic/ tests/ scripts/ docker-compose.yml
├── frontend/ # ── MARKETING SITE (Next.js) ── aequoros.com pages
├── packages/
│ └── risk-service-api/ # generated TypeScript client (API ⇄ dashboard contract)
├── docs/ # specs, build handoff, working notes
└── ARCHITECTURE.md # system map + conventions (start here)
```
Three deployables: `frontend` → Vercel (aequoros.com) · `backend/dashboard` → Vercel
(bank.aequoros.com, Root Directory `backend/dashboard`) · `backend` → container host
(API incl. ML + Postgres + MinIO; the Docker image excludes `dashboard/`).
## Prerequisites
- **Python 3.13** (backend). Create the venv once: `cd backend && uv sync`
(or `python3.13 -m venv .venv && .venv/bin/pip install -e .`).
- **Node 24 + pnpm 9+** (dashboard/frontend): `nvm use && corepack enable && pnpm install`.
- **PostgreSQL 15+** — either your managed instance or the bundled
`docker compose up -d` (Postgres :15432 + MinIO :9000).
- **Environment**: `cp backend/.env.example backend/.env` and fill in your
database and object-storage values. Secrets live only in the untracked `.env`.
## Quick start
```bash
# database: the shared remote Postgres — DATABASE_URL comes from backend/.env
# (untracked; shape in backend/.env.example). Schema is kept at alembic head:
cd backen …