Desenvolvido por Isaac Oliveira Líder de Serviços II · Desenvolvedor Fullstack · Analista de Sistemas
Na gestão de contratos de impressão corporativa do Grupo Usiminas (Siderurgia), o controle era feito manualmente em planilhas Excel:
| Antes | Depois |
|---|---|
| ❌ Estoque em planilhas desatualizadas | ✅ Baixa automática ao registrar entrega |
| ❌ Protocolos em papel ou e-mail | ✅ Wizard digital com histórico completo |
| ❌ Relatórios manuais toda semana | ✅ BI Dashboard com 6 painéis em tempo real |
| ❌ Importação manual de CSVs inconsistentes | ✅ Refinery com detecção automática de encoding |
| ❌ Sem visibilidade de SLA | ✅ Monitoramento contínuo com alertas |
|
📋 Gestão de Protocolos
|
📦 Estoque Inteligente
|
|
🗺️ Rotas Logísticas
|
📊 BI Dashboard Executivo
|
|
🔬 Refinery Universal
|
🔐 Multi-tenant com RBAC
|
┌──────────────────────────────────────┐
│ E2E — 74 testes · Playwright │ Browser real contra produção
├──────────────────────────────────────┤
│ Integração — 400+ testes │ FastAPI TestClient + storage real
├──────────────────────────────────────┤
│ Unitários — 1000+ testes │ pytest + mocks + Hypothesis (PBT)
└──────────────────────────────────────┘
1488 testes · 99% coverage · 0 falhas · ~40s de execução
| Métrica | Valor |
|---|---|
| Testes passando | 1488 |
| Cobertura de código | 99% |
| Testes E2E (Playwright) | 74 |
| Bugs de produção encontrados pelos testes | 7 |
| Tempo de execução da suíte | ~40 segundos |
Internet (HTTPS 443)
│
▼
Nginx — SSL/TLS (Let's Encrypt)
├── / → React SPA (/var/www/html)
└── /api/ → FastAPI :8000 (systemd · uvicorn)
│
AWS S3 Bucket
├── {contract_id}/config.json
├── {contract_id}/Mapa.csv
├── {contract_id}/Entregas.csv
└── refinery/cortex_db.json
Decisões notáveis:
- Zero banco de dados relacional — dados em CSV no S3, auth em JSON
- Storage abstraction layer — mesmo código funciona com S3 (prod) ou filesystem (dev)
- Sem Docker — backend direto no host via systemd (menor overhead em t3.micro)
- Multi-tenant via prefixo S3 — cada contrato tem namespace isolado
Backend: Python 3.12 FastAPI pytest Hypothesis Playwright boto3 pandas python-jose passlib fsspec
Frontend: React 19 Vite UnoCSS Axios
Infra: AWS EC2 AWS S3 Nginx Let's Encrypt systemd GitHub Actions
git clone https://github.com/alantaru/SupplyV2.git
cd SupplyV2
# Backend
cd backend
pip install -r requirements.txt
# Criar .env com STORAGE_TYPE=LOCAL
uvicorn backend.main:app --reload --port 8000
# Frontend (outro terminal)
cd frontend
npm install
npm run devAcesse: http://localhost:5173