Uma API Rest para fazer controle de ponto e acesso dos usuários para empresas.
Demonstrar conceitos de API Rest, SpringBoot e arquitetura de software.
- Foi utilizado o Swagger(SpringDoc openapi-ui) para fazer a documentação da API;
- Para persistência de dados foi utilizado o SGBD MySql;
- Foi utilizado o Hibernate como implementação para o JPA;
- Lombok para diminuir o Boilerplate code;
- Utilizado o ModelMapper para facilitar a aplicação do padrão DTO;
- Versionamento do banco de dados feito através do Flyway;
Para a validação de dados foi utilizado a especificação Jakarta Bean Validation com a implementação do Hibernate Validator;
Os erros foram tratados utilizando o ControllerAdvice do próprio Spring Framework, com a criação de exceptions e mensagens personalizadas para cada tipo de erro. Foi utilizado como norma o Problem Details for HTTP Apis rfc7807;
Foi utilizado o MySql 8.0 para esta aplicação mas também é suportado o banco H2 qual está pré configurado.
Os testes foram realizados utilizando JUnit 5 e Mockito. Os tipos de teste deste projeto são:
- Testes de Repositório
- Teste de Controlador
- Teste de Integração(A caminho)
Muito obrigado pela atenção e qualquer dúvida ou sugestão, basta me contactar.
Me chamo Vinícius Ornelas de Almeida e estou mergulhando na carreira de desenvolvedor. Quem sabe uma hora a gente não se ajuda?
- CONTATO