Skip to content

caioantoniodev/spring-archref

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Spring Redis Kibana RabbitMQ Swagger Docker Java CI with Maven


☁️ Arch-Ref Spring

Esse projeto é um template de arquitetura de referência para projetos em Java 17 com spring boot e maven


📚 Resources

Esse microserviço apresenta o recurso de personagem (character) na qual haja um gerencialmente desse recursos como CRUD


✔️ Character

/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

📐 Arquitetura

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

Captura de Tela 2024-08-18 às 18 28 54


⌛️ Serviços

  • 🌐 HTTP

    Esse microsserviço faz proxy com uma API pública de personagens da séries Marvel

  • 🟥 Redis

    Esse microsserviço armazena e faz leitura de serviço em cache com Redis.

  • 🍃 MongoDB

    Esse microsserviço usa armazenamento com banco de dados não relacional com MongoDB.

  • 🟠 RabbitMQ

    Esse microsserviço usa implementação de event broker com RabbitMQ com publicadores e consumidores da fila.


⚡ Getting started

Executa o docker compose para subir as imagens necessárias em container docker (docker-compose-deps.yaml)

cd docker && docker-compose up -d

☕ Executar

Compilar o projeto

mvn clean install

Executando local

mvn spring-boot:run 

or

java -jar target/archref-0.0.1-SNAPSHOT.jar

Executando os testes

mvn test

Swagger

http://localhost:{you-port}/v1/api-docs

😄 Contribua

Quer fazer parte desse projeto? Clique AQUI e abra um pull request 🧩

About

☁️ Arch-Ref Spring

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages