Rocketseat

Find A Friend - API

Find A Friend - API

Conheça o projeto

Nesse projeto você irá criar a API do FindAFriend, um sistema de adoção de animais, utilizando os princípios SOLID e testes. A API deve permitir o cadastro de ORGs e pets, além de listar animais por cidade, com filtros por características. O contato para adoção será feito via WhatsApp diretamente com a ORG responsável pelo pet.

Para auxiliar na visualização de como sua API será consumida, disponibilizamos um layout de referência da aplicação que fariam uso dos seus endpoints. Isso ajudará a compreender o propósito de cada funcionalidade.

Recursos

Materiais para você usar como base para o desenvolvimento

Instruções

Estrutura, regras e requisitos do projeto

Esse projeto consiste no desenvolvimento de uma API REST chamada FindAFriend para um sistema de adoção de animais. O projeto deve ser construído reforçando os conceitos de SOLID e a prática de testes automatizados.

A API deve seguir um conjunto de funcionalidades e regras de negócio.

Funcionalidades da Aplicação

  • O cadastro de um pet
  • A listagem de todos os pets disponíveis para adoção em uma determinada cidade
  • A filtragem de pets com base em suas características (como idade, porte, etc.)
  • A visualização dos detalhes de um pet específico
  • O cadastro de uma ORG (organização)
  • O login de uma ORG no sistema

Regras de Negócio

As seguintes condições devem ser implementadas:

  • A informação da cidade é obrigatória para listar os pets
  • Uma ORG deve, obrigatoriamente, ter um endereço e um número de WhatsApp
  • Todo pet cadastrado precisa estar vinculado a uma ORG
  • O contato do usuário interessado em adotar um pet será feito diretamente com a ORG via WhatsApp
  • Todos os filtros de características do pet, com exceção da cidade, são opcionais
  • Para que uma ORG tenha acesso administrativo à aplicação, ela deve estar logada

Tarefas

Use este checklist para ajudar a organizar a sua entrega

Resolução

Confira os resultados esperados do projeto

Paywall background

Envie o projeto para ver a resolução

Ao enviar seu projeto, você poderá conferir os resultados esperados

Projetos relacionados