Projeto CRUD: API RESTful seguindo conceito MVC utilizando Stack NodeJS, padronizado o código com Eslint e Prettier.
Pacotes principais: Express responsável pela criação de rotas, Middleware JWT para persistência do token por 30minutos, mantendo a segurança e credêncial do usuário, ORM Sequelize para conexão com banco de dados relacional (MySQL) e por fim, Jest para realização de tests.
-
Instalar dependência:
yarn install
ounpm install
-
Configurar variáveis ambiente:
cp .env.example .env
-
Permissão de execução o script database:
sudo chmod +x src/scripts/database.sh
-
Executar script database para configurar o banco:
yarn dev:db
-
Iniciar banco de dados:
yarn sequelize db:migrate
ou importapi.sql
-
Iniciar aplicação em desenvolvimento:
yarn dev
-
Iniciar aplicação em produção:
yarn start
-
Format eslint:
yarn dev:fix
-
Buildar sucrase:
yarn dev:build
- Criar usuário
router.post('/users', UserController.store)
{
"name": "Caio",
"email": "caio.agiani14@gmail.com",
"password": "123123"
}
- Logar sessão
router.post('/users', UserController.store)
{
"email": "caio.agiani14@gmail.com",
"password": "123123"
}
- Perfil usuário
router.get('/profile/:idUser', auth, UserController.store)
- Atualizar usuário
router.put('/users', auth, UserController.update)
{
"name": "Caio Henrique Agiani Pimenta",
"email": "caio.agiani14@gmail.com",
"oldPassword": "123",
"password": "123"
}
- Deslogar usuário
router.get('/logout', auth, SessionController.destroy)
- Deletar usuário
router.delete('/users/:idUser', auth, UserController.delete);