Coder Social home page Coder Social logo

gobarber-api-gostack09's Introduction


🔨 Configuração:

  • Instale o yarn e o nodeJS
  • Primeiramente você precisará ter o docker instalado em sua máquina.
  • Nesta aplicação é necessário o uso de três banco de dados, sendo eles o PostgreSQL, o MongoDB e por fim, o Redis. Para rodar os containers, basta executar pelo terminal os seguintes comandos:
    • Para o container do PostgreSQL: sudo docker run --name postgresbarber -p 5432:5432 -e POSTGRES_PASSWORD=mysecretpassword -d postgres;
    • Para o container do MongoDB: sudo docker run --name mongobarber -p 27017:27017 -d -t mongo;
    • Para o container do Redis: sudo docker run --name redisbarber -p 6379:6379 -d -t redis:alpine.
  • Criar uma database no PostgreSQL com o nome "gobarber". Obs: Recomendo o uso do postbird para fazer a criação do banco e visualização dos dados.
  • Já para o MongoDB, o banco é criado automaticamente pela aplicação com o nome de gobarber, porém recomendo o uso do MongoDB Compass para visualização dos dados no banco
  • No projeto usar yarn install para instalar todas as dependências.
  • Além disso, yarn sequelize db:migrate , para estruturar a base de dados.

🏇 Iniciar a aplicação:

  • O primeiro passo é reiniciar os containers do docker referentes ao PostgreSQL, MongoDB e Redis. Para isso basta executar no terminal docker start postgresbarber mongobarber redisbarber, conforme é mostrado abaixo:

restarting-docker

  • Após, levantar a aplicação com os seguintes comandos:

    • Executar yarn dev para levantar a API;

    yarn-dev

    • Executar yarn queue para levantar fila.

    yarn-queue


🎯 Rotas das API:

  • Segue abaixo a lista de rotas disponíveis pela api GOBARBER.

Sessions: BASE_URL/sessions

  • (POST) Create -> Esta rota é usada para fazer a autenticação com a API e dela será retornada uma token bearer, que sera usada nas rotas que possuirem @token_auth.

Users: BASE_URL/users

  • (POST) Create -> Esta rota rota é usada para realizar o cadastramento de usuários.

  • (PUT) Update @token_auth -> Esta rota pode ser usada para editar informações básicas do usuário, como também para alterar a senha e linkar uma foto de avatar (desde que a foto de avatar já tenha sido criada no servidor).

Schedule: BASE_URL/schedule

  • (GET) List @token_auth -> Esta rota é usada para retornar os agendamentos do provider logado.

Appointments: BASE_URL/appointments

  • (POST) Create @token_auth -> Esta rota é usada para cadastramento de agendamentos.

  • (GET) List @token_auth -> Esta rota é usada para listar os agendamentos.

  • (DELETE) Delete @token_auth -> Esta rota é usada para cancelar (não deletar) agendamentos.

Provider: BASE_URL/provider

  • (GET) List @token_auth -> Esta rota é usada para listar todos os usuários que são prestadores de serviço.

    Available: BASE_URL/providers/:providerId/available

    • (GET) List @token_auth -> Esta rota é usada para retornar os horários disponíveis do provider provider logado em uma determinada data.

Files: BASE_URL/files

  • (POST) Create @token_auth -> Esta rota é usada para servir de upload de avatar do usuário, que posteriormente pode ser linkada na edição do usuário com o ID deste.

Notifications: BASE_URL/notifications

  • (GET) List @token_auth -> Esta rota é usada para listar as notificações de um provider.

  • (PUT) Update @token_auth -> Esta rota é usada para marcar uma notificação como lida


APP GOBARBER

  • Api criado no bootcamp da Rocketseat

Bootcamp


gobarber-api-gostack09's People

Contributors

dependabot[bot] avatar fnoquiq avatar

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.