- Biblioteca responsável por encapsular o funcionamento do Spring AMQP e RabbitMQ, facilitando seu uso com poucas configurações.
- Biblioteca contendo as funcionalidades básicas para executar/construir uma aplicação web, incluindo API's RESTful utilizando Spring MVC. Por padrão utiliza Tomcat como servidor web.
- Biblioteca responsável por facilitar a vida do desenvolvedor, encapsulando diversas lógicas como Getters/Setters, instâncias de objetos utilizando o padrão
builder()
, além de outras funções.
- Pacote contendo as funcionalidades básicas para testes unitários (JUnit, Hamcrest e Mockito).
- Biblioteca responsável por habilitar o Swagger na sua aplicação. É através desta lib que o
.json
contendo as informações da sua API (endpoints, modelos, etc) é gerado. Porém ainda não possibilita uma interface amigável ao usuário.
- Esta biblioteca é um complemento da anterior springfox-swagger2 utilizando o
.json
gerado para construir uma interface gráfica amigável para testes dos seus endpoints.
- Biblioteca que encapsula o funcionamento/utilização de um banco de dados MongoDB.
- Biblioteca que encapsula o envio de emails.
- Biblioteca utilizada para facilitar a implementação de log da aplicação utilizando Logback.
- Biblioteca utilizada por subir um banco MongoDB local para o correto funcionamento dos testes unitários.
- Dentro da pasta
devops
existem 3 scrips:- build.sh
- Responsável por buildar a aplicação e gerar o
.jar
- Responsável por buildar a aplicação e gerar o
- start-app.sh
- Responsável por executar o comando
docker-compose up
que irá utilizar o arquivodocker-compose.yml
na raiz do projeto para subir todos os containers necessários para o correto funcionamento da aplicação, sendo eles:- MongoDB
- RabbitMQ
- Dockerfile da API Springboot em questão
- Responsável por executar o comando
- stop-app.sh
- Responsável por executar o comando
docker-compose down
que interrompe a execução da aplicação, removendo todos os containers mencionados acima.
- Responsável por executar o comando
- build.sh
- Antes de iniciar a aplicação através do comando
./devops/start-app.sh
, altere o arquivoEmailSender.java
com suas informações de e-mail para que seja possível simular o mecanismo adequadamente. - Uma vez que a aplicação está sendo executada, basta acessar o endereço
http://localhost:8080/swagger-ui.html#
para visualizar todos os endpoints disponívels pela API e testar suas funções. - Caso queira, também é possível acessar o gerenciador do RabbitMQ no endereço
http://localhost:15672
com o usuário e senha sendo, respectivamente,guest:guest
.