- O projeto tem como base uma API Rest utilizando o Spring Boot, criada pelo site Spring Initializr.
- O projeto utiliza as bibliotecas Lombok, ModelMapper e Bean Validation.
- Adicionado a API as funcionalidades para Cadastro, Listagem de autores, Atualização dos autores e Remoção dos autores. Consumindo e devolvendo as informações no formato JSON.
- Adicionado o módulo do Spring Data JPA no projeto, e o MySQL.
- Utilizar também o Flyway como ferramenta de migration, para o controle da evolução do schema do banco de dados da API.
- Criada uma classe com métodos para tratamento dos erros 400, 404 e 500 que ocorrerem na API.
- Criado os testes automatizados das classes controller, repository e service da API, utilizando para isso as bibliotecas JUnit, AssertJ e Mockito, bem como os recursos de testes do Spring Boot.
- Utilização do Swagger como ferramenta para geração automatizada da documentação da API.
- Segurança da API com base em perfis no JWT.
- Deploy da API do projeto Biblioteca no Heroku utilizando Docker.
- CI/CD utilizando GitHub Actions para integração e entrega contínua.
- Implementação de funcionalidade para envio de e-mail via Gmail, de maneira assíncrona, ao cadastrar um novo usuário na API.
- Java
- Springboot Framework
- Postman
- DTO pattern
- Model Mapper
- Bean Validation
- Lombok
- API Rest
- MySQL
- JPA
- Flyway
- Junit
- Swagger
- JWT
- Maven
- Docker
- Deploy via Heroku/JawsDB
- CI/CD Github Actions