Projeto que consiste em uma API que simula transações financeiras entre um
Cliente e uma Empresa, sendo desenvolvida utilizando arquitetura em camadas
para uma melhor organização e maior manutenibilidade do projeto, tratamento
exceções utilizando Exceptions Handlers
do Spring, MapStruct para mapeamento
de entidades em DTOs em tempo de execução, entre outras técnicas que venho adquirindo.
- Java 21
- Spring Boot 3.3.5
- Maven 3.9.9
- PostgreSQL
- Spring Data JPA
- Flyway Migrations
- Docker e Docker Compose
- Nginx
- Swagger 2.6.0
Antes de iniciar o projeto, é necessário fazer a criação de um arquivo no diretório raiz do projeto chamado credentials.env
, contendo as variáveis de ambiente necessárias para a execução do projeto.
POSTGRES_URL
= URL para conexão ao banco de dados PostgreSQL.POSTGRES_USERNAME
= Username de conexão ao banco de dados.POSTGRES_PASSWORD
= Senha de conexão ao banco de dados.EMAIL_DOMAIN_ENV
= Endereço de e-mail@gmail.com
para envio de notificações.EMAIL_PASSWORD_ENV
= Senha do serviço SMTP Google.CALLBACK_URL
= URL para o envio de callbacks, Webhook