Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/caioagiani/api-sequelize-sucrase
API RESTful NodeJs express, sequelize (mysql), jwt e sucrase es5 + eslint & prettier
https://github.com/caioagiani/api-sequelize-sucrase
api express javascript mysql nodejs restful-api sequelize
Last synced: about 2 months ago
JSON representation
API RESTful NodeJs express, sequelize (mysql), jwt e sucrase es5 + eslint & prettier
- Host: GitHub
- URL: https://github.com/caioagiani/api-sequelize-sucrase
- Owner: caioagiani
- Created: 2020-06-11T22:17:33.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-16T17:21:34.000Z (3 months ago)
- Last Synced: 2024-09-16T21:26:17.269Z (3 months ago)
- Topics: api, express, javascript, mysql, nodejs, restful-api, sequelize
- Language: JavaScript
- Homepage:
- Size: 66.4 KB
- Stars: 22
- Watchers: 5
- Forks: 4
- Open Issues: 12
-
Metadata Files:
- Readme: README.MD
Awesome Lists containing this project
README
API RESTful - MySQL Sequelize :: Sucrase
[![Status](https://img.shields.io/badge/status-active-success.svg)]()
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](/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`
- [x] Criar usuário
```java
router.post('/users', UserController.store){
"name": "Caio",
"email": "[email protected]",
"password": "123123"
}
```- [x] Logar sessão
```java
router.post('/users', UserController.store){
"email": "[email protected]",
"password": "123123"
}
```- [x] Perfil usuário
```java
router.get('/profile/:idUser', auth, UserController.store)
```- [x] Atualizar usuário
```java
router.put('/users', auth, UserController.update){
"name": "Caio Henrique Agiani Pimenta",
"email": "[email protected]",
"oldPassword": "123",
"password": "123"
}
```- [x] Deslogar usuário
```java
router.get('/logout', auth, SessionController.destroy)
```- [x] Deletar usuário
```java
router.delete('/users/:idUser', auth, UserController.delete);
```## Contato
- [LinkedIn](https://www.linkedin.com/in/caioagiani/)
- [email protected]