Skip to content

Este repositório contém o back-end de uma das respostas ao desafio proposto pela empresa Stone a estudantes da turma T4 Resilia + Stone. Para mais informações ler o README.

Notifications You must be signed in to change notification settings

anvitrola/doarte-api

Repository files navigation

Doarte API


Repo Main Language Repo License


💻 Sobre o projeto

O DOARTE: A Arte de Doar surgiu de um desafio proposto pela empresa Stone para a turma T4 Resilia + Stone. O objetivo era a construção de uma plataforma na qual usuários pudessem se cadastrar e criar vaquinhas com causas sociais a fim de arrecadar recursos.

Cabe destacar que o produto é uma mera simulação do que seria uma aplicação real. Portanto, aqui não se aplica transações bancárias e o que é transacionado são moedas fictícias.


Nossa api possui a arquitetura REST e atualmente pode realizar as operações CRUD de usuários e vaquinhas (ou outro produto).. Para visualizar o projeto há duas opções:

  • Copie esse link: https://doarte-api.herokuapp.com/ e interaja com nossa API através de uma aplicação front-end ou programas como Postman ou Insomnia.
  • Para rodá-la localmente em sua máquina leia atentamente o fim desse arquivo 😉.

    • 🌙 Possibilidades de um usuário médio na aplicação

      • Cadastrar um usuário
      • Login na conta do usuário
      • Atualizar as informações ou deletar seu usuário
      • Cadastrar uma vaquinha
      • Atualizar as informações ou deletar sua vaquinha
      • Doar para outras vaquinhas

      🛠 Tecnologias

      O projeto foi desenvolvido utlizando as seguintes tecnologias:


      🔶 Diagrama da estrutura do nosso banco de dados

      Aplication Diagram

      Requerimentos para rodar aplicação localmente

      • Git instalado
      • Docker instalado
      • Node instalado
      • Npm or Yarn instalado
      • Além disto é bom ter um editor para trabalhar com o código como VSCode

      🐙Rodando o projeto

      1️⃣ Clone este repositório

      $ git clone https://github.com/anvitrola/doarte-api

      2️⃣ Acesse a pasta do projeto no terminal/cmd

      $ cd doarte-api

      3️⃣ Abra o editor de texto (VSCode)

      $ code .

      4️⃣ Abra um novo terminal e instale as dependências

      $ npm install

      5️⃣ Suba o banco da aplicação através desse comando

      $ docker-compose up

      6️⃣️ Divida o terminal em dois usando o comando Ctrl+Shift+5 ou o menu com 3 pontos no lado direito.

      7️⃣ Execute a aplicação no segundo terminal

      $ npm start

      8️⃣ O servidor inciará na porta:3000 - acesse http://localhost:3000


      🛣️ Rotas da nossa API:

      Autenticação

      🚧 /auth/signUp

      Rota para cadastrar um usuário.
      Verbo:POST.
      Precisa estar logado:Não.
      Template para enviar os dados:

      {
         "name":"insira o nome aqui",
         "email":"insira o email aqui",
         "password":"insira a senha aqui",
      }
      

      🚧 /auth/signIn

      Rota para autenticar e logar um usuário.
      Verbo:POST.
      Precisa estar logado:Não.
      Template para enviar os dados:

      {
         "email":"insira o email aqui",
         "password":"insira a senha aqui",
      }
      

      ⚠️ Rotas que precisam que você esteja logado necessitam do header 'x-access-token' com o valor do seu token (recebido após o login ser bem sucedido).

      Usuário

      🚧 /all

      Rota para verificar a lista de usuários.
      Verbo:GET.
      Precisa estar logado:Não.

      🚧 /user

      Rota para retornar informações do usuário.
      Verbo:GET.
      Precisa estar logado:Sim.

      🚧 /user/update

      Rota para atualizar as informações do usuário.
      Verbo:PATCH.
      Precisa estar logado:Sim.
      Template para enviar os dados:

      {
         "name":"insira o nome aqui",
         "email":"insira o email aqui",
         "password":"insira a senha aqui",
         //você pode alterar apenas um, apenas delete os outros campos e envie apenas os campos desejados.
      }
      

      🚧 /user/delete

      Rota para deletar o usuário.
      Verbo:PATCH.
      Precisa estar logado:Sim.

      🚧 /user/donation/:id

      Rota para realizar uma doação á uma vaquinha.
      Verbo:POST.
      Precisa estar logado:Sim.
      Passar o id da vaquinha como parâmetro.
      Template para enviar os dados:

      {
         "donation_value": 25 //Insira o valor aqui (minimo 25)
      }
      

      Vaquinhas

      🚧 /fundraiser/create

      Rota para criar uma vaquinha.
      Verbo:POST.
      Precisa estar logado:Sim.
      Template para enviar os dados:

      {
         "title": "Insira o titulo aqui", 
         "goal_value": 500 //meta da vaquinha, 
         "deadline":"06-12-2021T00:00:00" //formato de data: DD-MM-YYYY , 
         "description": "Insira a descrição aqui"
      }
      

      🚧 /fundraiser/findAll

      Rota para retorna todas as vaquinhas ativas do site.
      Verbo:GET.
      Precisa estar logado:Não.

      🚧 /fundraiser/findUserFundraisers/

      Rota para retornar as vaquinhas do usuário.
      Verbo:GET.
      Precisa estar logado:Sim.

      🚧 /fundraiser/update/:id

      Rota para deletar o usuário (precisa estar logado).
      Verbo:PATCH.
      Precisa estar logado:Sim.
      Passar o id da vaquinha como parâmetro.
      Template para enviar os dados:

      {
         "title": "Insira o titulo aqui", 
         "goal_value": 500 //meta da vaquinha, 
         "description": "Insira a descrição aqui"
         //você pode alterar apenas um, apenas delete os outros campos e envie apenas os campos desejados.
      }
      

      🚧 /fundraiser/delete/:id

      Rota para deletar uma vaquinha.
      Verbo:PATCH.
      Precisa estar logado:Sim.
      Passar o id da vaquinha como parâmetro.


      Desenvolvedores responsáveis 👩🏻👨🏻👨🏻👨🏻⚜

      Foto de perfil do Github
      Ana Vitória Viana
      Foto de perfil do Github
      Rafael Almeida
      Foto de perfil do Github
      Elivelton Souza
      Foto de perfil do Github
      Peter Silva

      Open Source

      Contruibuições são bem-vindas, desde que aberto um pull request e requisitado um review dos membros da equipe.

      Copyright © 2021

      DOARTE is MIT licensed 💖

About

Este repositório contém o back-end de uma das respostas ao desafio proposto pela empresa Stone a estudantes da turma T4 Resilia + Stone. Para mais informações ler o README.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •