Skip to content

API RESTful NodeJs express, sequelize (mysql), jwt e sucrase es5 + eslint & prettier

Notifications You must be signed in to change notification settings

caioagiani/api-sequelize-sucrase

Folders and files

NameName
Last commit message
Last commit date
Mar 2, 2021
Mar 2, 2021
Jun 11, 2020
Mar 2, 2021
Jun 11, 2020
Jun 13, 2020
Jun 11, 2020
Jun 11, 2020
Jun 13, 2020
Mar 2, 2021
Jun 13, 2020
Jun 11, 2020
Jul 29, 2022
Mar 2, 2021

Repository files navigation

API RESTful

API RESTful - MySQL Sequelize :: Sucrase

Status License

Apresentação:

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.

Instalação:

  • Instalar dependência: yarn install ou npm 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 import api.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

Rotas

Import insomnia: Insomnia.json

  • Criar usuário
router.post('/users', UserController.store)

{
  "name": "Caio",
  "email": "[email protected]",
  "password": "123123"
}
  • Logar sessão
router.post('/users', UserController.store)

{
  "email": "[email protected]",
  "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": "[email protected]",
  "oldPassword": "123",
  "password": "123"
}
  • Deslogar usuário
router.get('/logout', auth, SessionController.destroy)
  • Deletar usuário
router.delete('/users/:idUser', auth, UserController.delete);

Contato