O serviço é um salvador de livros que utiliza SQL como database para salvar livros e usuários. Como usuário, você terá duas roles (Admin e User), onde o User normal apenas pode fazer requisições GET e o ADMIN pode realizar todos os tipos de requisições. O usuário tem acesso a um banco de dados de livros que poderão ser salvos na sua lista de favoritos. Ao utilizar a aplicação, você poderá checar as rotas com a documentação gerada pelo Springdoc. Também contém uma integração com a Google Book API. Com ela, você pode fazer o GET de vários livros diretamente da API do Google. (Mais informações na área de utilização).
Java 19
Spring 3.1.3
Maven
Sql
Flyway
Junit
Mockito
SpringDoc
Lombok
DevTools
Spring Security
Auth0 jwt
O projeto também dispõe de testes unitários e de integração, onde foram testados os seus Repositories, Services e Controllers. No teste de Controller, foi utilizado a ferramenta Data Jpa Test para garantir que as queries que conversam com o banco de dados SQL estão retornando o esperado. Nos testes de Service, foram utilizadas as tecnologias Mockito e Junit5 para a certificação de que os métodos estão realizando o seu trabalho corretamente e também retornando os erros esperados ao não serem utilizados conforme o esperado. Para os testes de Controller, foi utilizado o MockMvc e Mockito para a certificação de que os métodos estão retornando os códigos esperados ao serem utilizados.
- Operação de Crud do user
- Operação de Crud do book
- Adicionar um book a lista de favoritos do user
- Get das categorias de um Book
- Controller de Autenticação
- Get de Livros diretamente da Google Book Api
- Faça a clonagem do projeto
- Abra o projeto na sua IDE e faça a instalação das dependências através do Maven
- Adicione a configuração do seu Banco de Dados SQL na application.properties
- Para a utilização da Google Book API adicione sua chave no application.properties
- Rode o projeto e as migrations
- Acesse http://localhost:8080/swagger-ui.html para ver a documentação
- Crie um usuario e senha para testes