Projeto Final: Fluxo Completo

Integração final passo a passo

Tutorial completo do fluxo POST /customers atravessando todos os serviços.

Avançado 45 min 40 pontos Leitura 0%

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.sh
  • docker-compose.yml
  • services/customer-service
  • services/order-service
  • services/payment-service
  • services/notification-service
  • services/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.