Projeto backend com java e spring boot.
Com uma implementação de Clean Arch.
A qualidade dos testes é validada pelo JaCoCo e pitest (mutation testing)
O PostgreSQL dentro do contexto de testes de serviço é provido pelo https://www.testcontainers.org/
CI da aplicação é o Actions do github
Em qualquer merge para a master é feito deploy no heroku
https://notificaiton-java.herokuapp.com/swagger-ui.html
Para construir a aplicação e rodar toda a suite de testes maven.
mvn clean install
Para gerar a imagem docker da aplicação utilize o comando:
docker build -t notitication:1.0.0 .
Para executar o banco de dados basta apenas executar o comando:
docker-compose -f .docker-compose/stack.yml up
Para executar a imagem gerada da aplicação basta apenas executar o comando:
docker-compose -f .docker-compose/app.yml up
A aplicação estará disponível na porta 8080
A Utilização da API pode ser feita através de seu Swagger http://localhost:8080/swagger-ui.html
Health Check: http://localhost:8080/actuator/health
Para executar a aplicação pela sua IDE de preferência adicione as seguintes variáveis de ambiente:
POSTGRES_URL=jdbc:postgresql://localhost:5432/notification
POSTGRES_USER=user
POSTGRES_PASSWORD=test123
Clicar em "run" na classe NotificationApplication.java
Confira o log e com tudo correto a aplicação estará disponível na porta 8080