Skip to content

alantaru/SupplyV2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🖨️ Supply 2026

Sistema Fullstack de Gestão de Insumos de Impressão Corporativa

Python FastAPI React AWS Tests Coverage E2E


Desenvolvido por Isaac Oliveira Líder de Serviços II · Desenvolvedor Fullstack · Analista de Sistemas

LinkedIn Email


O Problema Real

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

Funcionalidades

📋 Gestão de Protocolos

  • Wizard de 3 etapas para solicitar insumos
  • Enriquecimento automático com dados do equipamento
  • Snapshot de toner no momento da criação
  • Histórico completo com filtros avançados

📦 Estoque Inteligente

  • Baixa automática ao registrar entrega
  • Busca inteligente por categoria + modelo
  • Criação automática de item quando não existe
  • Histórico de movimentações com auditoria

🗺️ Rotas Logísticas

  • Agrupamento de entregas por localização
  • Análise de estoque estimado por equipamento
  • Geração de protocolos em lote (1 clique)
  • Planejamento com status de ciclo

📊 BI Dashboard Executivo

  • 6 painéis analíticos em tempo real
  • Métricas de SLA, entrega, supply e operacional
  • Filtros por período com recálculo dinâmico
  • Alertas preditivos de toner e papel

🔬 Refinery Universal

  • Detecção automática de encoding (UTF-8, CP1252, Latin1, UTF-16)
  • Mapeamento inteligente de colunas com aprendizado (Cortex)
  • Suporte a Excel e CSV de qualquer formato

🔐 Multi-tenant com RBAC

  • Isolamento total de dados por contrato
  • 3 roles: user, admin, superadmin
  • JWT + recovery key para reset sem admin

Qualidade de Código

         ┌──────────────────────────────────────┐
         │  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

Arquitetura

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

Stack

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


Como Rodar Localmente

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 dev

Acesse: http://localhost:5173


Isaac Oliveira — Transformando operações reais em software de qualidade

LinkedIn

About

Sistema fullstack de gestao de insumos corporativos - FastAPI + React 19 + AWS S3 | 1488 testes | 99% coverage | CI/CD

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors