https://github.com/leoobarbosa2/node-find-a-pet
Node API to handle with Pet's Adoption through Ongs.
https://github.com/leoobarbosa2/node-find-a-pet
fastify nodejs prisma-orm typescript vitest
Last synced: about 2 months ago
JSON representation
Node API to handle with Pet's Adoption through Ongs.
- Host: GitHub
- URL: https://github.com/leoobarbosa2/node-find-a-pet
- Owner: leoobarbosa2
- Created: 2025-02-11T20:44:21.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-16T14:29:48.000Z (over 1 year ago)
- Last Synced: 2025-08-24T18:35:24.353Z (10 months ago)
- Topics: fastify, nodejs, prisma-orm, typescript, vitest
- Language: TypeScript
- Homepage:
- Size: 292 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Find a pet API 🐶🐱
As an ONG, register pets available to be adopted. As users, search for pets to adopt by city or pet details.
## How to run it?
1. Configure your `.env` using `.env.example`
2. Install all dependencies
```
npm install
```
3. Make sure to run docker compose file to get your database running.
```
docker compose up
```
4. Run in development mode or start mode
```
DEV: npm run dev
PROD: npm run start
```

### Application Rules (Regras da aplicação)
EN
- [x] It must be possible to register a pet.
- [x] It must be possible to list all available pets for adoption in a city.
- [x] It must be possible to filter pets by their characteristics.
- [x] It must be possible to view details of a pet for adoption.
- [x] It must be possible to register as an organization (ORG).
- [x] It must be possible to log in as an ORG.
### Business Rules
- [x] To list pets, the city must be provided.
- [x] An ORG must have an address and a WhatsApp number.
- [x] A pet must be linked to an ORG.
- [x] The user who wants to adopt will contact the ORG via WhatsApp.
- [x] All filters, besides the city, are optional.
- [x] For an ORG to access the application as an admin, it must be logged in.
PT-BR
- [x] Deve ser possível cadastrar um pet
- [x] Deve ser possível listar todos os pets disponíveis para adoção em uma cidade
- [x] Deve ser possível filtrar pets por suas características
- [x] Deve ser possível visualizar detalhes de um pet para adoção
- [x] Deve ser possível se cadastrar como uma ORG
- [x] Deve ser possível realizar login como uma ORG
### Regras de negócio
- [x] Para listar os pets, obrigatoriamente precisamos informar a cidade
- [x] Uma ORG precisa ter um endereço e um número de WhatsApp
- [x] Um pet deve estar ligado a uma ORG
- [x] O usuário que quer adotar, entrará em contato com a ORG via WhatsApp
- [x] Todos os filtros, além da cidade, são opcionais
- [x] Para uma ORG acessar a aplicação como admin, ela precisa estar logada