Uma API onde a principal funcionalidade é facilitar a busca por museus baseado na sua localização. Os dados foram retirados desta série histórica.
Projeto parte do módulo Eletiva Java do curso de Desenvolvimento Web da Trybe. O objetivo foi trabalhar as seguintes habilidades:
- Criar classes de controle e suas rotas
- Criar classes de serviço
- Utilizar injeção de dependências
- Trabalhar com exceções customizadas
- Tratar exceções da API através de gerenciadores de erros
- Implementar testes unitários para cobertura de código
- Criar uma configuração Docker para a aplicação
Java, Spring Framework, Spring Web, JUnit, Spring Boot Actuator
- Clonar repositório;
- Entrar na pasta clonada e instalar as dependências digitando ˋmvn installˋ;
- Para testar: ˋmvn testˋ
- Checkstyle: ˋmvn checkstyle:checkˋ
- Crie as classes de Modelo e DTO;
- Habilite o Spring Boot Actuator;
- Implemente o método createMuseum da camada de serviço;
- Implemente o método getClosestMuseum da camada de serviço;
- Criar classe controller para
/museums
com rota POST; - Criar rota GET
/museums/closest
; - Criar um ControllerAdvice para tratar erros;
- Implemente testes para as classes CollectionTypeController e CollectionTypeService para atingir cobertura de 80% das linhas;
- Implemente controller, service e testes para rota GET
/museums/{id}
; - Crie um Dockerfile para sua aplicação;
Estrutura do projeto desenvolvidos pelo time da Trybe, sendo os seguintes diretórios de minha autoria:
- src/main/java/com.betrybe.museumfinder.advice, controller, dto, exception, model, service
- test/java/com.betrybe.museumfinder/solution
- Dockerfile