Bootcamp GoStack - Rockeseat
Criar um app gerenciador de academia, o Gympoint.
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);
Abaixo estĆ£o descritas as funcionalidades que devem ser adicionadas na aplicaĆ§Ć£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;
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.