- 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
.
- Para o container do PostgreSQL:
- 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.
- 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:
-
Após, levantar a aplicação com os seguintes comandos:
- Executar
yarn dev
para levantar a API;
- Executar
yarn queue
para levantar fila.
- Executar
- Segue abaixo a lista de rotas disponíveis pela api GOBARBER.
- (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.
-
(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).
- (GET) List @token_auth -> Esta rota é usada para retornar os agendamentos do provider logado.
-
(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.
-
(GET) List @token_auth -> Esta rota é usada para listar todos os usuários que são prestadores de serviço.
- (GET) List @token_auth -> Esta rota é usada para retornar os horários disponíveis do provider provider logado em uma determinada data.
- (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.
-
(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
- Api criado no bootcamp da Rocketseat