Home
Arquitetura
Observabilidade
Resiliência
API Reference
README
🚀 Sobre o projeto
O dio-speech-ai é uma API REST para transcrição de áudio com Whisper
via Speaches, construída em fases evolutivas para o desafio DIO × Globant .
Cada fase adiciona uma camada de maturidade: da API base até arquitetura hexagonal,
mensageria assíncrona e notificações multicanal.
Roadmap
Fase 1
API base — transcrição síncrona, Docker Compose, ProblemDetail (RFC 9457)
✓
v1.0.0
Fase 2
Observabilidade + Cache — Prometheus · Logs JSON · Redis · Grafana · Zipkin
✓
v2.1–v2.7
Fase 3
Resiliência + Segurança — CircuitBreaker · Retry · JWT · Testcontainers
✓
v3.1–v3.5
Fase 4
Documentação — OpenAPI 3.1 · Swagger UI · SpringDoc
✓
v4.1.0
Fase 5
CI/CD — Jacoco · SonarCloud · GitHub Actions · Docker Hub · Release automático
✓
v5.1–v5.3
Fase 6
Bean Validation — validação de DTOs · tratamento de erros estruturado (pendente — retorna quando houver DTOs de entrada validáveis)
pendente
v6.x
Fase 7
Arquitetura Hexagonal — Ports & Adapters · domínio desacoplado · adapters intercambiáveis
✓
v7.1–v7.6
Fase 8
Mensageria — RabbitMQ · produtor de eventos · consumer · DLQ
✓
v8.1–v8.3
Fase 9
Notificações — e-mail · SMS · WhatsApp via consumers RabbitMQ
planejado
v9.1–v9.3
⚙️ Quick Start
Modo dev — infraestrutura no Docker, app local
docker compose -f docker-compose.dev.yml up -d
./gradlew bootRun --args='--spring.profiles.active=dev'
Modo prod — stack completa containerizada
./gradlew clean build && docker compose up -d
📄 Documentação interativa
Com a aplicação em execução, acesse o Swagger UI:
🧠 Stack completa
Java 25
Linguagem principal
Spring Boot 4.x
Framework web
Lombok
@RequiredArgsConstructor
Speaches (Whisper)
Motor de transcrição
Prometheus v2.1
Métricas e scraping
Logs JSON v2.2
Logback + MDC + requestId
Redis v2.3
Cache SHA-256, TTL 24h
Grafana v2.6
12 painéis provisionados
Zipkin/OTel v2.7
Tracing distribuído
CircuitBreaker v3.1
Resilience4j, fallback 503
Retry v3.2
Backoff exponencial
Testcontainers v3.5
Testes de integração reais
SpringDoc OpenAPI v4.1
Swagger UI + OAS 3.1
Jacoco v5.1
Cobertura de testes
SonarCloud v5.2
Qualidade contínua
SonarQube local v5.x
Análise local (Docker dev)
GitHub Actions v5.2
CI/CD automático
Bean Validation v6.1
DTOs validados
Hexagonal v7.6.0
Ports & Adapters
RabbitMQ v8.3.0
Mensageria assíncrona
Notificações v9.x
SMS · WhatsApp · e-mail