Projeto final do bootcamp {reprograma} backend, criando CRUD de ONG's e abrigos de animais.
- Problemática
- Solução
- Público alvo
- Arquitetura
- Tecnologias
- Orientações
- Tratamento de erro
- Implementações futuras
Grande número de animais abandonados na região metropolitana do Recife.
Voltado para animais - gatos e cachororos - em situação de vunerabilidade na região metropolitana do Recife procurando uma lar temporário ou uma adoção responsável. Terá uma base de dados de hosts que pode ser abrigos, ONGs ou pessoas que se disponibilizam para abrigar os animais até sua possivel adoção.
- pessoas que encontram algum animal abandonado e gostariam entregar à uma local de acolhimento. 🏡
- pessoas que buscam por locais que tenham pets disponiveis para adoção. 🐈
├───📂src/
│ ├───📂controllers/
│ │ ├───placesController.js
│ │ └───userController.js
│ ├───📂database/
│ │ └───configMongo.js
│ ├───📂helpers/
│ │ └───auth.js
│ ├───📂middlewares/
│ │ └───auth.js
│ ├───📂models/
│ │ ├───placesSchema.js
│ │ └───userSchema.js
│ ├───📂routes/
│ │ ├───placesRouter.js
│ │ └───userRouter.js
│ ├───app.js
│ └───index.js
├───.env
├───.env.example
├───.gitignore
├───package-lock.json
├───package.json
├───Procfile
├───README.md
└───server.js
As seguintes ferramentas foram usadas na construção do projeto:
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas:
- Git;
- Node.js;
- Para o banco de dados usaremos um não relacional - NoSQL - MongoDB, se você quiser criar seu db na nuvem, deve criar uma conta no Mongo Atlas, a partir disso é possivel da nuvem mesmo gerencia-lo ou também é possivel atráves do aplicativo desktop MongoCompass.
- Além disto é bom ter um editor para trabalhar com o código como VSCode.
# Clone este repositório
$ git clone <https://github.com/victoriardspaiva/projetoLivre-Caramelo>
# Acesse a pasta do projeto no terminal/cmd
$ cd projetoLivre-Caramelo
# Instale as dependências
$ npm install ou npm i
# Execute o servidor
$ npm start
# O servidor inciará na porta:9090 - acesse <http://localhost:9090>
A ferramenta de suporte de criação das requisição usada foi o Postman, você pode usar a de sua preferência.
é possivel criar variáveis que sejam visiveis para todo o escopo do projeto, existem alguns beneficios um dele é não deixar o valor exposto, além de poder ser reutilizado sempre que necessário.
Para criar a variavel é necessário na collection > aba Variables preencha na coluna variable da tabela o nome da variavel URL
e em initial value e current value colocar o valor http://localhost:9090
Na barra de URL
endpoint
, vamos preencher o nome da variavel entre dois cochetes{{URL}}
.
Voce pode acessar a rota: localmente, sem ou com variavel de ambiente, ou pode acessar também -só as rotas get- consumindo pela aplicação. Obs.: {{URL}}/home/all ou https://projeto-caramelo.herokuapp.com/home/all.
Feature | Método | Rota |
---|---|---|
🏚️ Página inicial/ home | GET | {{URL}}/ |
🗂️ Listar todas os hosts disponiveis | GET | {{URL}}/all |
🗃️ Listar hosts por filtros | GET | {{URL}}/home/search |
- ✔️ name
- ✔️ id
- ✔️ animal
- ✔️ district
- ✔️ host
Para ter acesso as rotas privadas é necessário primeiramente criar registro de usuário, depois realizar o login, copiar o token de autenticação. Ir na aba de Authorization no Type escolher
Bearer Token
e no campo token colar o código que foi copiado.
Feature | Método | Rota |
---|---|---|
📋 Criar um cadastro para o host | POST | {{URL}}/home/create |
📝 Atualizar dados cadastrais do host | PUT | {{URL}}/home/update |
🗑️ Deletar um host | DELETE | {{URL}}/home/delete |
Feature | Método | Rota |
---|---|---|
🗂️ Listar todos usuários: | GET | {{URL}}/user/all |
📂 Listar usuário por id: | GET | {{URL}}/user/id? |
📋 Registrar usuários: | POST | {{URL}}/register |
✅ Login de usuário: | POST | {{URL}}/user/login |
📝 Atualizar dados cadastrais do usuário: | PUT | {{URL}}/user/update |
❌ Deletar um usuários: | DELETE | {{URL}}/user/delete |
- Pesquisa não encontrada
- Só para gatos e cachorros
- Retorno vazio
- Exibir número disponivel de vagas;
- Perfil de usuário:
- Quero adotar
- Quero resgatar
- Quero ser cuidador
- Cadastro de animais disponiveis;
- Notificação de eventos e campanhas de adoção;
- Veterinários parceiros.