Adote-um-pet


Projeto Final {Reprograma}


💻 Sobre o projeto


API desenvolvida como Projeto Final com o auxílio da professora Paula Allemand para a conclusão do curso de Backend {Reprograma}

Durante a pandemia muitos animais foram abandonados, aumentando consideravelmente o número de animais vivendo na rua. Um grupo de pessoas que já cuidava dos animais que viviam na rua, passou a receber estes animais em suas casas até encontrar um lar para cada um. Porém, o unico meio de divulgação dos animais disponíveis para adoção é o whatsApp, tornando o processo de adoção restrito, além de não existir um controle de animais adotados e ou disponíveis para adoção, já que eles permanecem em lares diferentes. Assim surgiu a ideia deste projeto, que é encontrar um lar reponsável para os animais que encontram-se abandonados, tendo um controle entre animais já adotados e os que ainda estão para adoção.

Existem muitas pessoas que querem adotar um cão ou um gato, porém, na maioria das vezes estas pessoas não tem acesso ou conhecimento de onde encontrar estes animais, já que na cidade não existe um ambiente que seja referência onde estes animais possam permanecer enquanto aguardam ser adotados.

É desejável futuramente, a implementação e ampliação deste projeto, para que além de encontrar o pet que procura para adotar, as pessoas possam também fazer a doação de alimentos, medicamentos, castrações e objetos nescessários para manter os cuidados com os animais de rua.



🚀 Descrição da API Adote um Pet


O projeto é uma API REST que permite que os animais que estão disponíveis para adoção sejam cadastrados, mostrando quando estão disponíveis e também quando já tiverem sido adotados.

A interface é um CRUD completo integrado com o banco de dados, onde é possível listar os animais que estão disponíveis para adoção.

🔗 Link


⚙️ Funcionalidades/Objetivos

  • Listar todos os animais que estão cadastrados no sistema;
  • Listar animais por ID.
  • Cadastrar pets que estejam em lares temporarios;
  • Atualizar os dados desses pets, caso haja mudança de cidade.
  • Deletar esse pet quando for adotado;

📚 Aprendizados

O projeto final consiste em uma API fundamentada no CRUD, que são: CREATE (CRIAR), READ(LER-CONSULTA), UPDATE(ATUALIZAR) e DELETE(DESTRUIÇÃO).


🛠️ Tecnologias utilizadas nesse projeto


Para a construção do projeto, as seguintes tecnologias foram utilizadas:

Pacotes Utilizados


📁 Arquitetura MVC

 📁 Adote-um-pet
   |
   |-  📁 src
   |    |
   |    |- 📁 controller
   |         |- 📑 adoteUmPetController.js
   |     
   |
   |    |- 📁 database
   |         |- 📑 mongoConfig.js
   |
   |
   |    |- 📁 models
   |         |- 📑 adoteUmPetSchema.js
   |         
   |
   |    |- 📁 routes
   |         |- 📑 adoteUmPetRoutes.js 
   |
   |    |- 📑 app.js
   |
   |
   |- 📑 .env
   |- 📑 .env.example
   |- 📑 .gitignore
   |- 📑 package-lock.json
   |- 📑 package.json
   |- 📑 README.md
   |- 📑 server.js

🔃 Rotas


🔃 Retorna teste com apresentação:

Método HTTP Endpoint Descrição
GET http://localhost:9000/ Mensagem de apresentação (Index)

🔃 Manipulação das Rotas de Usuários:

Método HTTP Endpoint Descrição
GET /todos Retorna todos os animais
GET /todos/:id Retorna todos os animais por ID
POST /criar Cria/cadastra um novo animais
PUT /atualizar/:id Altera informações de um animais
DELETE /deletar/:id Deleta um animais específico

✅ Dados para Collection Adote um Pet:

  • id: gerado automaticamente
  • nome: texto e obrigatório
  • cidade: texto e obrigatório
  • animal: texto e obrigatório

✅ API deve retornar seguinte JSON:

{
    "message": "Cadastro realizado com sucesso",
    "cadastrarPets": {
        "nome": "Adote",
        "cidade": "Pesqueira",
        "animal": "cachorro",
        "_id": "61b966dc26f06dcbd505bbf6",
        "__v": 0
    }
}

🚧 Melhorias para o futuro (Em construção)


  • Realizar a construção do front-end
  • Incrementar autenticação
  • Adicionar testes

Aceito sugestões que sejam viaveis para melhorar a vida destes animais que nos fazem tanto bem.


👨‍💻 Autora




🥰 Agradecimentos:

São tantas pessoas para agradecer! mas vamos por parte. Foram muitas as pessoas que de forma direta ou indireta, colaboraram para que este momento de aprendizagem fluisse. Então primeiro agradeço a Deus, por ter dado a mim, o privilégio de viver estes momentos de aprendizagem com pessoas de corações tão bons. Agradeço a minha família que sempre me deixou quieta no quarto durante as aulas rsrs. Agradeço a todas as professoras e monitoras, vocês são incriveis. Agradeço as meninas do grupo reprogramadas, sempre tão solicitas e unidas. E o meu agradecimento especial a Hannah Freitas e Raquel Andrade que me buscaram pela mão e me levantaram. Sem vocês, eu não teria chegado ao fim.