Skip to content

Latest commit

 

History

History
105 lines (84 loc) · 2.12 KB

README.md

File metadata and controls

105 lines (84 loc) · 2.12 KB
Logo Ignite

API REST com NodeJS


FIND A FRIEND API

API desenvolvida para a adoção de animais, a FindAFriend API, utilizando SOLID e testes.

Regras da aplicação

  • 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

Regras de negócio

  • Para listar os pets, obrigatoriamente precisamos informar a 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

Instalação

# Faça o clone do repotório
  git clone git@github.com:RenanFachin/RS_IGNITE_find-a-friend-api.git

# Instalar as dependências do projeto
  npm install

# Rodar as migrations do projeto para criar o banco de dados
  npx prisma migrate dev

# Executando o projeto no ambiente de desenvolvimento
  npm run dev

Instalação do banco de dados

# Subindo o banco de dados com docker
docker compose up -d

Diagrama ERD

Diagrama ERD

Rotas

  • Criar nova organização
POST /register
  • Login na aplicação
POST /session
  • Cadastrar um pet
POST /register/pet
  • Buscar por um pet
GET /pet/:id
  • Listar todos os pets de uma cidade específica
GET /searchByCity/:city
  • Filtrar pet por característica e cidade
GET /search/:city

Testes Unitários

# Rodando testes unitários
npm run test

# Vendo o coverage de testes
npm run test:coverage

Testes e2e

# Rodando testes unitários
npm run test:e2e