Skip to content

Arquitetura / Architecture

Decisões de arquitetura, padrões e design do sistema Banking Challenges.

Visão Geral

Decisões Principais

ADRDecisãoStatus
ADR-001Monorepo com Turborepo✅ Aceito
ADR-002GraphQL + Relay para Ledger✅ Aceito
ADR-003ISO 20022 para SPI✅ Aceito
ADR-004MongoDB para Dados Financeiros✅ Aceito
ADR-005Go para SPI e DICT✅ Aceito

Mapeamento de Desafios

#DesafioStackDatabase
01Ledger GraphQLKoa + GraphQLMongoDB
02SPI SimulatorGo (Gin) + ISO 20022In-memory
03DICT SimulatorGo (Gin) + RESTIn-memory
04ISO 8583TCP Server + GoPostgreSQL
05Workflow EngineFastify + DAGRedis
06Open FinanceFastify + FAPIPostgreSQL
07NFS-eFastify + SOAPPostgreSQL
08Report SystemFastify + StreamingPostgreSQL
09Leaky BucketFastify + LuaRedis
10Landing PageNext.js 14-
11KYC SystemVite + ReactPostgreSQL
12Proxmox + IaCTerraform + Ansible-
13CI/CDGitHub Actions-
14RFC / ADRMarkdown-
15PISPOpen Finance + FAPIPostgreSQL
16AntecipaçãoPricing EnginePostgreSQL

Tech Stack

CamadaTecnologia
BackendTypeScript (Fastify, Koa) + Go (Gin)
DatabaseMongoDB 7, PostgreSQL 16, Redis 7
FrontendNext.js 14, Vite + React
StorageMinIO (S3-compatible)
DocsVitePress
InfraDocker Compose, Turborepo, Vercel
CI/CDGitHub Actions / GitLab CI
IaCTerraform, Ansible, Proxmox

Segurança

CamadaTecnologia
TransporteTLS 1.3, mTLS
AutenticaçãoJWT, OAuth 2.0, FAPI
CriptografiaAES-256, RSA, 3DES
Rate LimitingLeaky Bucket (Redis + Lua)
AuditLogs imutáveis, 5+ anos