Para conclusão do curso, considerando que o Teste Técnico Diversidev também foi válido como projeto do módulo Frontend e para consolidar os aprendizados do módulo Backend, a resolução do case legado da Petlove busca simular um site de cadastro de passeios para os doguinhos 🐶 🐕
O deploy foi feito no Heroku e os endpoints foram testados no Postman.
A documentação pode ser acessada neste link do Postman 🔗
Para instalar este projeto localmente é necessário rodar os seguintes comandos:
Arquivo .env
⚠️ É necessário configurar as variáveis de ambiente do seu banco de dados para o projeto rodar normalmente.
Para facilitar há o arquivo .env
pronto para ser preenchido.
Também há um documento requests.rest que poderá ser acessado diretamente do VSCode, caso o usuário possua extensão "REST Client" instalada.
O projeto ainda conta com os scripts 'migrations'
para manipulação de banco de dados e 'dev'
para otimizar os testes de endpoint.
Neste sistema o preço do passeio é calculado dinamicamente da seguinte forma:
- Um passeio de 30 minutos para 1 cachorro custa R$25, sendo cada cachorro adicional R$15;
- Um passeio de 60 minutos para 1 cachorro custa R$35, sendo cada cachorro adicional R$20;
Este sistema permite, de forma simplificada, que a pessoa usuária possa cadastrar um novo passeio, consultá-los de forma geral ou por data ou status('To Do', 'Doing' ou 'Done'), sendo possível:
-
cadastrar novo passeio, com o método POST createWalk
- Atenção: os passeios são de 30 ou 60 minutos. Nos campos 'start_walking' e 'finish_walking' é necessário se atentar a este detalhe;
-
editar o status de um passeio com PUT editWalkingStatus;
- não é possível alterar o status de passeio já concluído.
-
buscar todos os produtos com GET allWalkings;
- buscar todos os produtos por data com GET getWalkingsByDate
- buscar todos os passeios por status com GET getWalkingsByStatus
Foram realizados testes unitários neste projeto com o framework Jest.
Abaixo segue a imagem com os dados da cobertura dos testes.