Backend do App para agendamento em barbearias - Projeto desenvolvido no bootcamp rocketseat
O projeto utiliza um banco de dados relacional (gosto do postgres), um banco de dados NOSQL para as notificações (Mongo) e o Redis para fila de envio de e-mails
Sete todas as configurações da aplicação em um arquivo .env - há um .env.example para servir de base
OPCIONAL: Para criar uma instância do postgres com o docker em sua máquina
docker run --name database-pg -e POSTGRES_PASSWORD=docker -p 5432:5432 -d postgres
OPCIONAL: Para criar uma instância do mongo com o docker em sua máquina
docker run --name database-mongo -p 27017:27017 -d -t mongo
OPCIONAL: Para criar uma instância do redis com o docker em sua máquina
docker run --name redis -p 6379:6379 -d -t redis:alpine
Para baixar as dependências
yarn
Para iniciar a aplicação
yarn dev
Sequelize como ORM do App
Mongoose como ODM do App
express e jsonwebtoken para lidar com requisições HTTP (Rest + JWT)
ioredis para lidar com Redis e realizar cache para algumas consultas na base de dados
bcryptjs para hash do password do usuário
YUP para lidar com as validações das requisições HTTP
multer para lidar com multipart/form-data
date-fns api da datas
nodemailer para lidar com envio de emails no Node
handlebarsjs TemplateEngine para lidar com envio de emails HTML
bee-queue para lidar com fila no Node - Alternativa mais performática que o Kue