Lorenalgm / bootcamp-desafio2

App gerenciador de academia | Bootcamp GoStack

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Desafio 2: Gympoint

Bootcamp GoStack - Rockeseat

šŸš€ Sobre o desafio

Criar um app gerenciador de academia, o Gympoint.

Um pouco sobre as ferramentas

Criar a aplicaĆ§Ć£o do zero utilizando o Express, alĆ©m de precisar configurar as seguintes ferramentas:

  • Sucrase + Nodemon;
  • ESLint + Prettier + EditorConfig;
  • Sequelize (Utilize PostgreSQL ou MySQL);

Funcionalidades

Abaixo estĆ£o descritas as funcionalidades que devem ser adicionadas na aplicaĆ§Ć£o.

1. AutenticaĆ§Ć£o

Permita que um usuĆ”rio se autentique em sua aplicaĆ§Ć£o utilizando e-mail e uma senha.

Crie um usuƔrio administrador utilizando a funcionalidade de seeds do sequelize, essa funcionalidade serve para criarmos registros na base de dados de forma automatizada.

Para criar um seed utilize o comando:

yarn sequelize seed:generate --name admin-user

No arquivo gerado na pasta src/database/seeds adicione o cĆ³digo referente Ć  criaĆ§Ć£o de um usuĆ”rio administrador:

const bcrypt = require("bcryptjs");

module.exports = {
  up: QueryInterface => {
    return QueryInterface.bulkInsert(
      "users",
      [
        {
          name: "Administrador",
          email: "admin@gympoint.com",
          password_hash: bcrypt.hashSync("123456", 8),
          created_at: new Date(),
          updated_at: new Date()
        }
      ],
      {}
    );
  },

  down: () => {}
};

Agora execute:

yarn sequelize db:seed:all

Agora vocĆŖ tem um usuĆ”rio na sua base de dados, utilize esse usuĆ”rio para todos logins daqui pra frente.

  • A autenticaĆ§Ć£o deve ser feita utilizando JWT.
  • Realize a validaĆ§Ć£o dos dados de entrada;

2. Cadastro de alunos

Permita que alunos sejam mantidos (cadastrados/atualizados) na aplicaĆ§Ć£o utilizando nome, email, idade, peso e altura.

Utilize uma nova tabela no banco de dados chamada students.

O cadastro de alunos sĆ³ pode ser feito por administradores autenticados na aplicaĆ§Ć£o.

O aluno nĆ£o pode se autenticar no sistema, ou seja, nĆ£o possui senha.

About

App gerenciador de academia | Bootcamp GoStack


Languages

Language:JavaScript 100.0%