/find-a-friend-api

API para a aplicação FindAFriend;

Primary LanguageTypeScript

Find a Friend - API

Requisitos Funcionais(RF)

  • 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;
  • Deve ser possível cadastrar requisitos de um pet
  • Deve ser possível remover requisitos de um pet
  • Deve ser possível realizar o upload de images de um pet
  • Deve ser possível remover imagens de um pet

Regras de negocio(RN)

  • 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;
  • Uma ORG só pode alterar dados de pets associados a ela.
  • Para adicionar o requisito a um pet, uma ORG precisa estar logada e o pet precisa estar associado a ela.
  • Para adicionar images a um pet, uma ORG precisa estar logada e o pet precisa estar associado a ela.
Como baixar:
//Clonar repositório
git clone git@github.com:mtheusbrito/find-a-friend-api.git 

// Acessar diretório
cd find-a-friend-api/ 

// Instalar dependências
npm install

// Gerar o Cliente do Prisma
npx prisma generate

// Executa os arquivos de migrações SQL no banco de dados
npm prisma migrate dev

// Iniciar projeto
npm start:dev

Docker container

  • docker-compose.build.yml
...
- type: bind
        source: /root/docker-volumes/find-a-friend-api   <--- rename to local path
        target: /usr/app
...
// Executa os arquivos de migrações SQL no banco de dados e transpila o projeto para js
docker compose up -f docker-compose.build.yml --build -d 
// Executa a cópia dos arquivos traspilados para a pasta de destino do projeto
docker compose up --build -d

Executando em http://localhost:4000