Technical architecture decisions, patterns, and system design for the Banking Challenges project.
| ADR | Decision | Status |
|---|---|---|
| ADR-001 | Monorepo with Turborepo | ✅ Accepted |
| ADR-002 | GraphQL + Relay for Ledger | ✅ Accepted |
| ADR-003 | ISO 20022 for SPI | ✅ Accepted |
| ADR-004 | MongoDB for Financial Data | ✅ Accepted |
| ADR-005 | Go for SPI and DICT | ✅ Accepted |
| # | Challenge | Stack | Database |
|---|---|---|---|
| 01 | Ledger GraphQL | Koa + GraphQL | MongoDB |
| 02 | SPI Simulator | Go (Gin) + ISO 20022 | In-memory |
| 03 | DICT Simulator | Go (Gin) + REST | In-memory |
| 04 | ISO 8583 | TCP Server + Go | PostgreSQL |
| 05 | Workflow Engine | Fastify + DAG | Redis |
| 06 | Open Finance | Fastify + FAPI | PostgreSQL |
| 07 | NFS-e | Fastify + SOAP | PostgreSQL |
| 08 | Report System | Fastify + Streaming | PostgreSQL |
| 09 | Leaky Bucket | Fastify + Lua | Redis |
| 10 | Landing Page | Next.js 14 | - |
| 11 | KYC System | Vite + React | PostgreSQL |
| 12 | Proxmox + IaC | Terraform + Ansible | - |
| 13 | CI/CD | GitHub Actions | - |
| 14 | RFC / ADR | Markdown | - |
| 15 | PISP | Open Finance + FAPI | PostgreSQL |
| 16 | Anticipation | Pricing Engine | PostgreSQL |
| Layer | Technology |
|---|---|
| Backend | TypeScript (Fastify, Koa) + Go (Gin) |
| Database | MongoDB 7, PostgreSQL 16, Redis 7 |
| Frontend | Next.js 14, Vite + React |
| Storage | MinIO (S3-compatible) |
| Docs | VitePress |
| Infra | Docker Compose, Turborepo, Vercel |
| CI/CD | GitHub Actions / GitLab CI |
| IaC | Terraform, Ansible, Proxmox |
| Layer | Technology |
|---|---|
| Transport | TLS 1.3, mTLS |
| Auth | JWT, OAuth 2.0, FAPI |
| Crypto | AES-256, RSA, 3DES |
| Rate Limiting | Leaky Bucket (Redis + Lua) |
| Audit | Immutable logs, 5+ years |