Esse projeto é um template de arquitetura de referência para projetos em Java 17 com spring boot e maven
Esse microserviço apresenta o recurso de personagem (character) na qual haja um gerencialmente desse recursos como CRUD
/character
Recurso que representa um personagem qualquer como um entidade
| METHOD | ENDPOINT | DESCRIPTION | ESCOPE |
|---|---|---|---|
| POST | / |
Cria um novo personagem | REQUEST |
| POST | /random |
Cria um personagem aleatório | REQUEST |
| DELETE | /{characterId} |
Remove um personagem específico pelo Id | REQUEST |
| PUT | /{characterId} |
Atualiza um personagem específico pelo Id | REQUEST |
| GET | /{characterId} |
Lista um personagem específico pelo Id | REQUEST |
Esse microsserviço foi estruturado usando arquitetura hexagonal seguindo a estrutura de pastas abaixo
/src
/adapters
/amqp
/http
/inbound
/config
/domain
/entities
/repositories
/entity
/services
/infrasctructure
/amqp
/config
/database
/mongo
/entity
/http
/logger
-
Esse microsserviço faz proxy com uma API pública de personagens da séries Marvel
-
Esse microsserviço armazena e faz leitura de serviço em cache com Redis.
-
Esse microsserviço usa armazenamento com banco de dados não relacional com MongoDB.
-
Esse microsserviço usa implementação de event broker com RabbitMQ com publicadores e consumidores da fila.
Executa o docker compose para subir as imagens necessárias em container docker (docker-compose-deps.yaml)
cd docker && docker-compose up -dmvn clean installmvn spring-boot:run
or
java -jar target/archref-0.0.1-SNAPSHOT.jarmvn testhttp://localhost:{you-port}/v1/api-docs
Quer fazer parte desse projeto? Clique AQUI e abra
um pull request 🧩
