/soul-doacao

Projeto final do módulo de Nodejs voltado a uma aplicação de sistema de doação.

Primary LanguageJavaScriptMIT LicenseMIT

Soul Doação

Projeto final do módulo de Nodejs voltado a uma aplicação de sistema de doação.


⇒ Objetivo ⇐

Construir uma REST API em MongoDB que permita fazer a adição de diversas ONGS e a funcionalidade de realizar doações para a mesma.

→ Requisitos da aplicação ←

  • Deve realizar CRUD de ONGs
  • Deve permitir a realização de doações (pagamento fictício)

→ Realizações ←

  • CRUD de ONGs, Voluntários, Doadores e Doações.
  • O Doador pode doar valores monetários ou itens
  • Ao realizar uma doação, os itens doados são registrados na ONG e o ID da doação atrelado ao doador.
  • Ao se deletar uma doação, o seu ID será excluído do doador e os itens doados removidos da ONG.

⇒ Tecnologias & Ferramentas utilizadas ⇐


GitHub repo size GitHub code size in bytes Lines of code GitHub issues GitHub closed pull requests GitHub last commit GitHub


⇒ Utilização da API ⇐


→ Clonagem do repositório ←

git clone https://github.com/agorasoudev/soul-doacao.git

→ Preparando o ambiente ←

  1. Primeiro instalamos as dependências.
    npm install
  2. Em seguida, renomeamos o arquivo .env.local para .env
  3. Dentro do arquivo .env, iremos preencher com a URL do servidor atlas - MongoDB

→ Inicializar o servidor ←

npm run dev

→ Utilizando os End-Points ←

Ongs
  • Create: POST: localhost:3333/ong/create

    Todos os campos com exceção de site e telefone são obrigatórios para se registrar uma ONG.

    Segue exemplo de JSON.:

    {
      "name" : "Soul Doação",
      "endereco" : "Rua Angra dos Reis",
      "segmento" : "Conectividade",
      "cnpj" : "80.580.861/0001-25",
      "n_funcionarios" : 4,
      "contato" : {
          "email" :"soudoacao@gmail.com",
          "site" : "https://soudoacao.com.br",
          "telefone" : "11999999999"
          },
      "caixa" : 100
    }
  • Read All: GET: localhost:3333/ongs

    Ao executar, será retornado uma lista com todas as ONGS cadastradas.

  • Read One: GET: localhost:3333/ong/:id

    Necessário informar o ID da ong na URI.

    O ID será gerado automaticamente na hora da criação da ONG

  • UPDATE: PATCH: localhost:3333/ong/:id

    Necessário informar o ID da ong na URI.

    O ID será gerado automaticamente na hora da criação da ONG

    Passar o que deseja alterar no body. (os campos não são obrigatórios)

    {
    "name" : "Soul Doação",
    "endereco" : "Rua Angra dos Reis",
    "segmento" : "Conectividade",
    "cnpj" : "80.580.861/0001-25",
    "n_funcionarios" : 4,
    "contato" : {
        "email" :"soudoacao@gmail.com",
        "site" : "https://soudoacao.com.br",
        "telefone" : "11999999999"
        },
    "caixa" : 100
    }
  • DESTROY: DELETE: localhost:3333/ong

    Informe o ID ou o E-mail da ONG que deseja deletar no body.

    OBS: Caso informe os 2, o ID será priorizado

    {
      "id" : "5e9f8f8f8f8f8f8f8f8f8f8",
      "email" :"soudoacao@gmail.com"
    }
Doador
  • Create: POST: localhost:3333/doador/create

    Cadastra um novo doador. Os únicos dados obrigatórios são o nome e o email.

    Segue exemplo de JSON.:

    {
      "name": "José Vinicius",
      "estado": "PE",
      "contato": {
        "email": "vini_dev@gmail.com",
        "telefone": "81999999999"
      }
    }
  • Read All: GET: localhost:3333/doadores

    Ao executar, será retornado uma lista com todos os doadores cadastradas.

  • Read One: GET: localhost:3333/doador/:id

    Necessário informar o ID do doador na URI.

    O ID será gerado automaticamente na hora da criação do doador

  • UPDATE: PATCH: localhost:3333/doador/:id

    Necessário informar o ID do doador na URI.

    O ID será gerado automaticamente na hora da criação do doador

    Passar o que deseja alterar no body. (os campos não são obrigatórios)

    {
    "name": "José Vinicius",
    "estado": "PE",
    "contato": {
      "email": "vini_dev@gmail.com",
      "telefone": "81999999999"
    }
    }
  • DESTROY: DELETE: localhost:3333/doador/:id

    Informe o ID do doador que deseja deletar na URI.

Voluntários
  • Create: POST: localhost:3333/voluntario/create

    Cadastra um novo voluntario. Os únicos dados obrigatórios são o nome e o email.

    Segue exemplo de JSON.:

    {
      "name": "Alexandre",
      "email": "ale@gmail.com",
      "telefone": "11999999999"
    }
  • Read All: GET: localhost:3333/voluntarios

    Ao executar, será retornado uma lista com todos os voluntarios cadastradas.

  • Read One: GET: localhost:3333/voluntario/:id

    Necessário informar o ID do voluntario na URI.

    O ID será gerado automaticamente na hora da criação do voluntario

  • UPDATE: PATCH: localhost:3333/voluntario/:id

    Necessário informar o ID do voluntario na URI.

    O ID será gerado automaticamente na hora da criação do voluntario

    Passar o que deseja alterar no body. (os campos não são obrigatórios)

    {
    "name": "Alexandre",
    "email": "ale@gmail.com",
    "telefone": "11999999999"
    }
  • DESTROY: DELETE: localhost:3333/voluntario/:id

    Informe o ID do voluntario que deseja deletar na URI.


⇒ Acessando a documentação ⇐

Apos a inicialização do servidor, é possível acessar a documentação com todas as rotas através da url localhost:3333/api-doc


⇒ Equipe de desenvolvimento ⇐