Plataforma de dados end-to-end que simula a operação de um banco digital, o LuisBank, construída como camada analítica sobre o projeto transacional Immutable Ledger, cobrindo desde a ingestão de eventos financeiros até analytics avançado de CRM (RFM) e compliance.
O projeto segue a arquitetura Modern Data Stack, focada em alta performance local e baixo custo, utilizando processamento in-process (DuckDB).
graph LR
A[Gerador Python] -->|JSONL| B((MinIO / S3));
B -->|Bronze Layer| C{DuckDB};
C -->|dbt Transformations| D[Data Warehouse];
D -->|Silver: Dimensões/Fatos| E[Gold: Aggregates];
E -->|Analytics| F[Streamlit Dashboard];
E -->|Marketing| G[RFM Segmentation];
| Componente | Tecnologia | Função |
|---|---|---|
| Ingestion | Python (Faker, Pydantic) | Geração de dados sintéticos com integridade referencial e contratos. |
| Data Lake | MinIO (Docker) | Armazenamento de objetos (S3 compatible). |
| Processing | DuckDB | Motor OLAP de alta performance (zero-copy). |
| Transformation | dbt Core | Modelagem dimensional, testes de qualidade e linhagem. |
| Visualization | Streamlit + Plotly | Data app interativo para executivos e operação. |
| Orchestration | Makefile / GitHub Actions | Automação de pipeline e CI/CD. |
O projeto não apenas processa dados, mas gera valor por meio de regras de negócio complexas:
Algoritmo SQL (ntile) para classificar clientes em quintis.
Categorias: Champions, Loyal, Promising, At Risk, Hibernating.
Monitoramento de transações acima de R$ 5k.
Detecção de outliers transacionais.
Testes de unicidade (unique) e não nulos (not_null).
Validação de chaves estrangeiras entre contas e transações.
Docker & Docker Compose
Python 3.10+
Git
- Copie
.env.examplepara.env - Ajuste
MINIO_ROOT_USEReMINIO_ROOT_PASSWORD
Aviso: faça rotação periódica de credenciais e nunca versione o arquivo
.env.
git clone https://github.com/ricardoribs/luisbank-data-platform.git
cd luisbank-data-platform# Cria ambiente virtual e instala libs
make setupmake infra-up# Gera dados, sobe para o MinIO, roda dbt run e dbt test
make pipelinemake dashboardAcesse em: http://localhost:8501
- Credenciais são lidas via variáveis de ambiente (
.env). - Rotacione senhas regularmente e trate valores reais como secrets.
- ADRs:
docs/adr/(001-escolha-duckdb.md, 002-secrets-config.md) - ERD:
docs/erd.md - Runbook:
docs/runbook.md
luisbank-data-platform/
|-- data/ # Arquivos locais (DuckDB, JSONLs)
|-- dbt_project/ # Projeto de transformação
| |-- models/
| | |-- staging/ # Views em cima do Data Lake (Bronze)
| | |-- marts/ # Tabelas Fato e Dimensões (Silver/Gold)
| | `-- marketing/ # Segmentação RFM
| `-- tests/ # Testes de qualidade de dados
|-- infrastructure/ # Arquivos Docker/Terraform
|-- src/
| |-- generators/ # Scripts Python (Faker)
| `-- dashboard/ # Aplicação Streamlit
|-- Makefile # Automação de comandos
`-- docker-compose.yml # Infraestrutura MinIO
Visão consolidada de KPIs financeiros com cálculo de deltas e tendências temporais.

Aplicação de lógica de negócio (SQL Window Functions) para classificar clientes em clusters (Champions, At Risk, etc.) e gerar listas de ação para o marketing.

Pipeline de dados estruturado em camadas (Bronze, Silver, Gold), garantindo rastreabilidade e qualidade.
