/api-sequelize-sucrase

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

Primary LanguageJavaScript

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": "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);

Contato