Git Product home page Git Product logo

apiong's Introduction

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":"[email protected]",
    "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": "[email protected]",
    "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

apiong's People

Contributors

francheskaoliveira avatar jojoprc avatar rffantin avatar victorvechi avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

jojoprc rffantin

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.