Aplicação distribuída composta por 3 serviços Python/FastAPI que permitem o agendamento de quadras esportivas com cálculo de preço, extras (bola, coletes, iluminação), checkout com formas de pagamento simuladas (CARD/PIX/BOLETO) e emissão de fatura PDF.
- Tecnologias: Python, FastAPI
- Banco de dados: PostgreSQL (Aiven)
- Autenticação: Auth0
- Comunicação entre serviços: HTTP (REST)
- Testes: pytest + coverage (>80% como gate em CI)
- CI/CD: GitHub Actions (test → build docker → push Docker Hub)
- Container: Dockerfile por serviço;
docker-composepara desenvolvimento local
- Sports-Agenda – Locais, quadras, slots (por hora), marcação de
BOOKED. - Sports-Booking – Orquestra reservas: cria/cancela booking, calcula total estimado, integra com Agenda e consome callback do Payment.
- Sports-Payment – Checkout, cupons, meios de pagamento simulados, geração de fatura e callback para Booking.
- Usuário seleciona quadra/horário →
Sports-Bookingcria booking e pedelockaoSports-Agenda. - Usuário faz checkout →
Sports-Paymentdecide (aprovado/pendente/recusado) e chama via requests emSports-Booking. Sports-Bookingconfirma/cancela e informaSports-Agendaparamark-booked/release.
- Endpoints de usuário protegidos por Auth0 (Bearer JWT).
- Comunicação entre serviços assinados com Requests.
- Requer Docker e (opcional)
docker-composecom Postgres local. - Cada serviço possui seu próprio
READMEcom variáveis de ambiente e comandos.