*Find A Friend é uma API Rest feita em Node.js. Nela é possível um usuário encontrar e adotar o seu amigo Pet. Aplicação feita usando TDD e SOLID como principais Patterns na construção da API.
- Express
- Zod
- Typescript
- Vitest
- Zod
- tsup
- Vitest
- Visual Studio Code
- Insomnia
- Beekeeper Studio
- Docker Desktop
Base Url(dev): http://localhost:3000
- create(POST) --> /
- authentication(POST) --> /session
- create(POST) --> /
- getPet(GET) --> /profile-pet
- fetchPets(POST) --> /fetch
- delete(DELETE) --> /delete
- create(POST) --> /
- create/upload(POST) --> /
- Deve ser possível cadastrar um pet;
- Deve ser possível listar todos os pets disponíveis para adoção em uma cidade;
- Deve ser possível filtrar pets por suas características;
- Deve ser possível visualizar detalhes de um pet para adoção;
- Deve ser possível se cadastrar como uma ORG;
- Deve ser possível realizar login como uma ORG;
- Para listar os pets, obrigatoriamente precisamos informar o estado e cidade;
- Uma ORG precisa ter um endereço e um número de WhatsApp;
- Um pet deve estar ligado a uma ORG;
- O usuário que quer adotar, entrará em contato com a ORG via WhatsApp;
- Todos os filtros, além da cidade, são opcionais;
- Para uma ORG acessar a aplicação como admin, ela precisa estar logada;
- Não pode ser possível criar uma Organização com email duplicado;
- A senha precisa ser criptografada;
- Os dados da aplicação precisam estar persistidos(salvos) em BD PostgreSQL;
- Todas as listas de dados precisar estar paginadas com 20 itens por página;
- O usuário deve ser identificado por um JWT(JSON Web Token);
- O upload das imagens deve ser feita com Multer;