Esse é um projeto backend em grupo, do módulo 4 da Resilia Educação, desenvolvido em JavaScript. O intuito do projeto é desenvolver uma API para gerenciar os dados de uma ONG de adoção de animais.
Para executar o projeto em sua máquina é necessário ter o node instalado em seu computador, para o projeto funcionar é só seguir o passo a passo descrito no final do documento.
Foi utilizado no projeto as stacks a seguir:
- [Node][https://nodejs.org/en/about]
- [Javascript][https://developer.mozilla.org/pt-BR/docs/Web/JavaScript]
- [Insomnia][https://insomnia.rest/]
- [JS | Express][https://expressjs.com/pt-br/starter/installing.html]
- [JS | Cors][https://www.npmjs.com/package/cors]
- [JS | Dotenv][https://www.npmjs.com/package/dotenv]
- [JS | MongoDB][https://www.mongodb.com/docs/atlas/]
- [JS | Mongoose][https://mongoosejs.com/docs/guide.html]
- Use o comando:
git clone https://github.com/VictorVechi/APIong.git
no terminal de sua preferência. Entretanto, recomenda-se o terminal do git.
# Clonando o repositório
$ git clone https://github.com/VictorVechi/APIong.git
$ cd APIong
- Use o comando
npm install
para instalar as dependências.
# Instalando as dependências
$ npm install
- Deve-se criar um novo arquivo na raíz do projeto para inserir os dados de conexão com o MongoDB, chamado
.env
, e inserir as variáveis de ambiente de acordo com o modelo.env.example
que está na pasta raíz ou a seguir:
USER_DB= SeuUser
PASSWORD= SuaSenha
DATABASE= IDdoBanco (exemplo: vysweho)
CLUSTER= NomedoCluster
PORT= PortaDaAPI (exemplo: 3000)
- Utilize o comando
npm start
no terminal para executar a API.
$ npm start
Nossa API possui 6 collections, tais quais:
- Doações
- Endereço da Unidade
- Endereço do Usuário
- Pets
- Unidades
- Usuários
As seguintes rotas estão disponíveis para as collections:
- GET http://localhost:3000/pets
- GET http://localhost:3000/pets/id
- POST http://localhost:3000/pets
- PUT http://localhost:3000/pets/id
- DELETE http://localhost:3000/pets/id
- GET http://localhost:3000/enderecoUnidade
- GET http://localhost:3000/enderecoUnidade/id
- POST http://localhost:3000/enderecoUnidade
- PUT http://localhost:3000/enderecoUnidade/id
- DELETE http://localhost:3000/enderecoUnidade/id
- GET http://localhost:3000/enderecoUsuario
- GET http://localhost:3000/enderecoUsuario/id
- POST http://localhost:3000/enderecoUsuario
- PUT http://localhost:3000/enderecoUsuario/id
- DELETE http://localhost:3000/enderecoUsuario/id
- GET http://localhost:3000/doacoes
- GET http://localhost:3000/doacoes/id
- POST http://localhost:3000/doacoes
- PUT http://localhost:3000/doacoes/id
- DELETE http://localhost:3000/doacoes/id
- GET http://localhost:3000/usuarios
- GET http://localhost:3000/usuarios/id
- POST http://localhost:3000/usuarios
- PUT http://localhost:3000/usuarios/id
- DELETE http://localhost:3000/usuarios/id
- GET http://localhost:3000/unidades
- GET http://localhost:3000/unidades/id
- POST http://localhost:3000/unidades
- PUT http://localhost:3000/unidades/id
- DELETE http://localhost:3000/unidades/id
GET: Rota para obter registros do banco
POST: Rota para cadastrar dados no banco
PUT: Rota para atualizar dados no banco
DELETE: Rota para deletar registros do banco
Para utilizá-las, apenas substitua o "id" pelo id desejado.
Exemplo:
http://localhost:3000/pets/65046310f7221b9f02150b8c
No exemplo acima, "65046310f7221b9f02150b8c" é o ID do Pet.
Exemplo de como deve ser feito o post de Pets:
{
"nome":"Leonardo",
"raca":"tartaruga",
"peso": 12,
"idade":"80 anos",
"id_unidade":"65079d364d42bc6b00639650"
}
Exemplo de como deve ser feito o post de Endereço do Usuário:
{
"cep":"83325250",
"rua": "av maringá",
"numero": "22b",
"complemento":"casa"
}
Exemplo de como deve ser feito o post de Endereço da Unidade:
{
"cep":"83325250",
"rua": "av maringá",
"numero": "22b"
}
Exemplo de como deve ser feito o post de Unidade:
{
"email":"aaa@gmail.com",
"telefone":"41999990000",
"id_endereco":"asnfjka23J"
}
Exemplo de como deve ser feito o post de Usuário:
{
"nome":"Leonardo",
"email":"aaaa@aa",
"telefone":"12424124",
"id_endereco_usuario":"abFjcnmA32"
}
Exemplo de como deve ser feito o post de Doação:
{
"valor":12.5,
"cpf_cnpj": "11111111111"
}
Exemplo de resposta (GET) de Pets:
{
"_id": "6508d24d437c5c59e0d8393b",
"nome": "Rafael",
"raca": "tartaruga",
"peso": 12,
"idade": "80 anos",
"id_unidade": "65079d364d42bc6b00639650",
"__v": 0
}
Exemplo de resposta (GET) de Endereço do Usuário:
{
"_id": "6507aca26de2cb4ed4d590d8",
"cep": "838443",
"rua": "ja to ali santos",
"numero": "554",
"complemento": "longe da vila perida",
"__v": 0
}
Exemplo de resposta (GET) de Endereço da Unidade:
{
"_id": "650c4a54405067b3bcdd542c",
"cep": "82980410",
"rua": "Rua miguel pedro abib",
"numero": "590",
"__v": 0
}
Exemplo de resposta (GET) de Unidade:
{
"_id": "650c4d2ad32e0e6147e7630f",
"email": "unidadeu@gmail.com",
"telefone": "44444444444",
"__v": 0
}
Exemplo de resposta (GET) de Usuário:
{
"_id": "650851c2a7324f8af4f642a2",
"nome": "Leonardo",
"email": "aaaa@aa",
"telefone": "12424124",
"id_endereco_usuario": "aASF23",
"__v": 0
}
Exemplo de resposta (GET) de Doações:
{
"_id": "650799ce4ae9a0de4219585a",
"valor": 2000,
"data": "17/09/2023",
"cpf_cnpj": "14257803932",
"__v": 0
}
Desenvolvido por: Francheska Oliveira, José Proença, Rafael Fantin e Victor Vechi