O Sistema Canil Woof é uma aplicação web desenvolvida para auxiliar os usuários a encontrarem o melhor petshop para suas necessidades com base na data, quantidade de cães pequenos e quantidade de cães grandes.
Após clonar o projeto, vá para o diretório api
que contém o arquivo pom.xml
e utilize o seguinte comando:
Ou deixe sua IDE instalar as dependências.
mvn install
Quando terminar, é só inicializar o projeto com a ajuda da IDE ou com o seguinte comando:
mvn spring-boot:run
a api estará na porta: 8080
Para utilizar o docker é necessário instalar o docker.
No diretório da api
que contém o arquivo dockerfile
utilize o seguinte comando:
docker build . -t 'alexi/canil-woof'
Depois que o processo terminar, utilize o comando a baixo para iniciar a api.
porta: 8080
docker run -p 8080:8080 alexi/canil-woof
Após clonar o projeto, vá para o diretório web
que contém o arquivo package.json
e rode o seguinte comando:
npm install
Quando terminar, é só inicializar o projeto com o seguinte comando:
npm run dev
o site estará na porta: 5173
- Não foi considerado a funcioalide de login
- O Sistema é apenas para escolher o petshop, por isso não será densenvolvido a parte de agendamento
- O usuário deverá informar os dados:
data
,quantidade de cães pequenos
equantidade cães grandes
- As quantidades de cada tipo de cães não podem ser menor que 0
- Só pode retornar um petshop, sendo que o critério de desempate será a distância da loja até o canil
- Os petshops são armazenados em um banco em memória - H2 console - populado na inicialização do projeto
- O backend deve seguir o padrão
REST
- Os testes unitários serão voltados para o backend
- As validações de campos serão feitas no frontend
- Como a solução em força bruta é da ordem O(n), ela foi adota como solução da escolha do Petshop
Foi desenvolvido testes unitários para a funcionalide de escolha do petshop com auxílio do Mockito para mocar o retorno do banco de dados.
Os casos de teste foram:
Motivo | Entrada | Saída |
---|---|---|
controle | data: 08/05/2024 - nº de cães pequenos: 1 - nº de cães grandes: 0 | PetShop escolhido: Vai Rex |
controle | data: 08/05/2024 - nº de cães pequenos: 1 - nº de cães grandes: 2 | PetShop escolhido: Meu Canino Feliz |
Dia não útil | data: 11/05/2024 - nº de cães pequenos: 0 - nº de cães grandes: 1 | PetShop escolhido: ChowChawgas |
Critério de desempate | data: 08/05/2024 - nº de cães pequenos: 2 - nº de cães grandes: 1 | PetShop escolhido: Vai Rex |