eriksongoncalves / ignite-node-find-friend-solid

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

IGNITE - CHALLENGE FIND FRIEND - SOLID

Nesse desafio desenvolveremos uma API 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
  • - Para uma ORG acessar a aplicação como admin, ela precisa estar logada

Requisitos da aplicação

  • Docker
  • Node

Instalação

Duplique e renomeie o arquivo .env.example para .env

  npm install

Execute o comando abaixo para criar o banco de dados:

  docker-compose up

Execute o comando abaixo para rodar as migrations

  npx prisma migrate dev

Após rodar as migrations, rode o script SQL dentro do postgres que está na pasta prisma/dump.sql

Execute aplicação:

  npm run start:dev