Microsserviço responsável pelo gerenciamento de assinaturas da Jusfy.
| Tecnologia | Versão |
|---|---|
| Java | 21 |
| Spring Boot | 3.4.13 |
| Spring Cloud | 2024.0.0 |
| Spring Cloud OpenFeign | 2024.0.0 |
| AWS Spring Cloud SQS | 3.3.0 |
| AWS SDK v2 (SNS/STS) | 2.30.38 |
| PostgreSQL | — |
| Flyway | (via Boot BOM) |
| Lombok | (via Boot BOM) |
| Gson | 2.13.2 |
| Caffeine (Cache) | (via Boot BOM) |
| JaCoCo | 0.8.12 |
| TestContainers | 1.20.6 |
- Java 21
- Maven 3.9+
- Docker (para banco e localstack)
Em produção, todas as variáveis são injetadas via AWS Secrets Manager → ECS Task Definition.
| Variável | Descrição |
|---|---|
DB_HOST |
Host do PostgreSQL |
DB_NAME |
Nome do banco |
DB_USERNAME |
Usuário do banco |
DB_PASSWORD |
Senha do banco |
JUSSUB_SLACK_URL |
Webhook do Slack para notificações |
JUSSUB_AUTHENTICATOR_URL |
URL do serviço de autenticação |
JUSSUB_JUSPAY_URL |
URL do serviço JusPay |
AWS_REGION |
Região AWS |
AWS_ENDPOINT |
Endpoint AWS (usado em local/dev) |
spring.datasource.url=jdbc:postgresql://localhost:5432/jussub
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.cloud.aws.region.static=us-east-2
spring.cloud.aws.credentials.access-key=local
spring.cloud.aws.credentials.secret-key=local
spring.cloud.aws.sqs.endpoint=http://localhost:4566
sqs.subscription.created.event=local-jussub-subscription-createddocker-compose up -dIsso sobe o PostgreSQL e o LocalStack (SQS/SNS).
./mvnw spring-boot:run -Dspring-boot.run.profiles=localGET http://localhost:8080/actuator/health
aws sqs send-message \
--queue-url https://sqs.us-east-2.amazonaws.com/944279429428/dev-jussub-subscription-created \
--message-body '{
"customerId": "550e8400-e29b-41d4-a716-446655440001",
"status": "ACTIVE",
"cycleStartDate": "2026-03-16T00:00:00",
"cycleEndDate": "2026-04-16T00:00:00",
"cycleNumber": 1
}' \
--region us-east-2| Documento | Descrição |
|---|---|
| ARCHITECTURE.md | Arquitetura Hexagonal, camadas e regras |
| NEW_EVENT_GUIDE.md | Como criar um novo consumer de evento SQS |
| NEW_ENDPOINT_GUIDE.md | Como criar um novo endpoint REST |