📊 Capítulo 20: Projeto Integrador: API de Faturamento
Especialização Backend com Python & FastAPI
🗺️ A Arquitetura do Projeto Integrador de Pedidos & Faturamento
flowchart TD
CLIENT["Cliente HTTP / App Mobile"]
--> AUTH_MW["Autenticação OAuth2 / JWT & Rate Limiting"]
--> API["FastAPI Endpoint (POST /pedidos)"]
--> DB["PostgreSQL Assíncrono (SQLModel / AsyncSession)"]
API --> REDIS["Cache In-Memory & Lock Distribuído"]
API --> CELERY["Celery Task (Faturamento & Geração de NF-e)"]
CELERY --> RABBIT["RabbitMQ Message Broker"]
CELERY --> S3["Armazenamento de PDF no Bucket S3"]
API --> WS["WebSocket Broadcast (Atualização de Status em Tempo Real)"]
style CLIENT fill:#ede7f6,stroke:#512da8,stroke-width:2px
style AUTH_MW fill:#fff3e0,stroke:#ff9800,stroke-width:1.5px
style API fill:#e8f5e9,stroke:#4caf50,stroke-width:2px
style DB fill:#e1f5fe,stroke:#03a9f4,stroke-width:2px
style CELERY fill:#c8e6c9,stroke:#2e7d32,stroke-width:2px
style WS fill:#ffebee,stroke:#d32f2f,stroke-width:1.5px
🎯 Slide 1: O Desafio de Engenharia do Projeto Integrador
-
Missão: Construir uma API corporativa completa de e-commerce capaz de receber pedidos, reservar estoque atomicamente, delegar o faturamento para workers em background e notificar clientes via WebSocket.
- Requisitos: Cobertura de testes > 90% com Pytest, migrações com Alembic e deploy pronto em Docker Compose.
🎯 Slide 2: Resiliência & Transações Atômicas
-
Controle de Concorrência Otimista/Pessimista: Evita que dois clientes comprem a última unidade de um produto ao mesmo tempo.
- Idempotência de Pagamento: Chaves de idempotência validadas no Redis antes de disparar cobranças.
🎯 Slide 3: Checklist de Homologação Final
- Modelagem: Entidades SQLModel com relacionamentos e migrações Alembic.
- Segurança: Autenticação JWT, controle de acesso RBAC e senhas com Argon2id.
- Assincronismo: Celery + Redis para tarefas de faturamento e emissão de notas.
- Testes & Deploy: Suíte completa no Pytest e imagem Docker Multi-Stage com usuário non-root.
Slide 1 de 1
Atalhos: ← → Navegar • Espaço Avançar • F Tela Cheia • Home Início • End Fim