Bootcamp 9.0 da 🚀 Rockeseat - Desafio 3: Gympoint Backend
“Feito é melhor doque perfeito!"
Sobre o desafio | Tecnologias | Funcionalidades | Apresentação | Executar aplicação
Bootcamp 9.0 da Rocketseat - Desafio 3: Gympoint Backend
Neste desafio foi desenvolvido um backend de uma aplicação para a administração de academias.
A aplicação web que consome este backend está no seguinte repositório: https://github.com/lucasssartori/gympointweb
O Projeto desenvolvido em NodeJS com aplicação de diversas tecnologias e bibliotecas.
- postgres - Banco de Dados Relacional
- Redis - Banco de dados NoSQL
- bcryptjs - Criptografia
- bee-queue - Criação de serviços na aplicação com o uso de Redis
- cors - Acesso e segurança das APIs da aplicação
- date-fns - Manipulação de datas
- dotenv - Variaveis de ambiente
- express - Desenvolvimento de Apis
- jsonwebtoken - Autenticação JWT
- nodemailer - Enviao de e-mails
- express-handlebars - Desenvolvimento de Layout de emails
- nodemailer-express-handlebars - Desenvolvimento de Layout de emails
- pg - Para utilização do banco de dados postgress
- pg-hstore - Para utilização do banco de dados postgress
- sequelize - Mapeamento Objeto Relacional
- yup - Validação de dados.
- eslint - Padronização de código
- nodemon - Statrt e restart automatico da aplicação durante o desenvolvimento.
- prettier - Formatador de código
- sucrase - Utilização do padrão de sintaxe ES6
- sentry - Tratamento de exceções de produção
- youch - Tratamento das mensagens para o ambiente de desenvolvimento e produção
- Api para sessão de administrador da aplicação com JWT.
- Middleware de autenticação de administrador.
- Apis para criação, atualização alunos na academia.
- Apis para CRUD de planos ofertados pela academia.
- Api para realização de checkin de alunos matriculados na academia.
- Api para consulta dos checkins realizados pelos alunos matriculados na academia.
- Apis para CRUD de matriculas dos alunos na academia.
- Fila para envio de e-mails para os alunos matriculados.
- Apis para os alunos criarem e consultarem solicitação de ajuda para os administradores da academia.
- Apis para para os administradores consultarem e responderem o pedido de ajuda dos alunos.
- Fila de e-mail para o envio das respostas aos alunos da academia.
Video abaixo aprensenta de frma rápida as funcionalidades da aplicação.
✔️ Realizar um clone desse repositório.
✔️ Entre na pasta do projeto via linha de comando.
✔️ Executar o comando yarn para instalar as dependências.
✔️ Criar um constainer no docker do banco de dados do banco de dados postgress através do comando: docker run --name database -e POSTGRES_PASSWORD=docker -p 5432:5432 postgres
✔️ Criar um constainer no docker do banco de dados do banco de dados NOSQL Redis através do comando: docker run --name redisgympoint -p 6379:6379 redis-alpine
✔️ Executar o comando "yarn sequelize db:migrate" para criação das tabelas.
✔️ Executar o comando "yarn sequelize db:seed:all" para criação de conteudos nas tabelas.
✔️ Executar o comando "yarn queue" em um terminal iniciar a fila de execuções.
✔️ Executar o comando "yarn dev" em outro terminal iniciar o backend.
✔️ Realizar a configuração de um servidor de envio de e-mail. Para fins de testes recomendamos o uso da ferramenta https://mailtrap.io/
✔️ Realizar a configuração do arquivo de variáveis globais ".env" e salvar na pasta raiz do projeto. O arquivo ".env.example" serve como exemplo para configuração.
✔️ Criar o frontend conforme indicado no repositório: https://github.com/lucasssartori/gympointweb
❗ Obs: Deve-se ter instalado as aplicações yarn e docker.