Projeto Final: Fluxo Completo
Integração final passo a passo
Tutorial completo do fluxo POST /customers atravessando todos os serviços.
Nesta aula você vai
- Executar demo ponta a ponta com comando reproduzível
- Validar fluxo de eventos por todos os cinco serviços
- Gerar evidências técnicas para entrega final
Integração final passo a passo
Nesta aula você vai executar o fluxo principal do sistema: POST /customers até processamento em analytics.
Arquivos usados
scripts/demo/full-flow.shdocker-compose.ymlservices/customer-serviceservices/order-serviceservices/payment-serviceservices/notification-serviceservices/analytics-service
Passo 1 - Suba o ambiente
make up
docker compose ps
Verifique se Kafka, Redis e 5 serviços estão healthy.
Passo 2 - Dispare entrada do fluxo
curl -X POST http://localhost:8080/customers \
-H "Content-Type: application/json" \
-d '{
"name":"Ana Demo",
"email":"ana.demo@acme.com",
"document":"12345678900"
}'
Resposta esperada: 201 Created com customerId.
Passo 3 - Verifique encadeamento de eventos
docker compose logs customer-service | rg "customer.created"
docker compose logs order-service | rg "order.created"
docker compose logs payment-service | rg "payment.approved|payment.failed"
docker compose logs notification-service | rg "notification.sent"
docker compose logs analytics-service | rg "analytics.updated"
Passo 4 - Valide persistência por serviço
- Customer: cliente criado.
- Order: pedido criado para o cliente.
- Payment: status de pagamento.
- Notification: envio registrado.
- Analytics: contadores atualizados.
Passo 5 - Automatize script de demo
scripts/demo/full-flow.sh:
#!/usr/bin/env bash
set -euo pipefail
make up
curl -s -X POST http://localhost:8080/customers -H "Content-Type: application/json" -d @scripts/demo/payloads/customer.json
make test-integration
Execução:
bash scripts/demo/full-flow.sh
Resumo
Você executou o fluxo completo POST /customers atravessando todos os serviços com validação por logs, estados e script automatizado.