/APIong

Primary LanguageJavaScriptMIT LicenseMIT

API ONG Cão Feliz

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.

Requisitos

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.

Stacks

Foi utilizado no projeto as stacks a seguir:

Como executar o projeto

  1. 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
  1. Use o comando npm install para instalar as dependências.
# Instalando as dependências
$ npm install
  1. 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)
  1. Utilize o comando npm start no terminal para executar a API.
$ npm start

Banco de dados e rotas

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:

Pets:

  • 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

Endereço da Unidade

  • 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

Endereço do Usuário

  • 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

Doação

  • 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

Usuários

  • 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

Unidades

  • 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