Skip to content

lucas2s/gympointbackend

Repository files navigation

GoStack
Bootcamp 9.0 da 🚀 Rockeseat - Desafio 3: Gympoint Backend

GoStack

“Feito é melhor doque perfeito!"

GitHub Lucas Sartori Stargazers Stargazers watchers

Sobre o desafio   |    Tecnologias   |    Funcionalidades   |    Apresentação   |    Executar aplicação

Sobre o desafio

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

2 - Tecnologias

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

3 - Funcionalidades

  • 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.

4 - Apresentação

Video abaixo aprensenta de frma rápida as funcionalidades da aplicação.

5 - Executar 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.

About

Bootcamp 9.0 da 🚀 Rockeseat - Desafio 3: Gympoint

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published