Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mairess/project-blogs-api
Aplicação em Node com Express e Javascript para fazer um CRUD de posts. Usa o ORM Sequelize e o bando de dados MySQL e conta com a segurança do JWT e do bcrypt.
https://github.com/mairess/project-blogs-api
bcrypt docker express javascript jwt-token mysql node sequelize-orm swagger-ui
Last synced: 7 days ago
JSON representation
Aplicação em Node com Express e Javascript para fazer um CRUD de posts. Usa o ORM Sequelize e o bando de dados MySQL e conta com a segurança do JWT e do bcrypt.
- Host: GitHub
- URL: https://github.com/mairess/project-blogs-api
- Owner: mairess
- Created: 2024-02-05T10:30:03.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-06T20:51:20.000Z (10 months ago)
- Last Synced: 2024-04-07T16:29:19.517Z (10 months ago)
- Topics: bcrypt, docker, express, javascript, jwt-token, mysql, node, sequelize-orm, swagger-ui
- Language: JavaScript
- Homepage:
- Size: 318 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
#
Projeto Blogs API
## Contexto
Este projeto consiste em uma `API REST` feita em `Node.js` com `Express` e `javascript` que simula um blog. Sendo possível fazer `CRUD` dos posts, mas para isso, é necessário fazer login pois a api conta rotas protegidas com `jwt` para autenticação do usuário, além de contar com o `bcrypt` para fazer o hash da senha deixando a aplicação mais segura. Para a manipulação do banco de dados o `ORM` utilizado foi o `sequelize` e o banco de dados é o `MySQL`.
Rode o projeto localmente
> ⚠️ É preciso ter o [Node](https://nodejs.org/en) instalado em sua máquina.
>
> ⚠️ É preciso criar um arquivo `.env` na raiz do projeto, siga o exemplo do arquivo [`env.example`](./env.example).
>1. Clone o repositório:
```BASH
git clone [email protected]:mairess/project-blogs-api.git
```2. Instale as dependências:
```BASH
npm install
```3. Inicie o container do banco de dados:
```BASH
docker compose up -d db
```4. Crie o banco e rode as migrations:
```BASH
env $(cat .env) npm run predev
```5. Rode os seeders:
```BASH
env $(cat .env) npm run seed
```6. Inicie o servidor:
```BASH
env $(cat .env) npm run dev
```7. O servidor estará disponível na porta `3001`
Rode o projeto com o docker
> ⚠️ É preciso ter o [Docker](https://www.docker.com/get-started/) instalado em sua máquina.
1. Clone o repositório:
```BASH
git clone [email protected]:mairess/project-blogs-api.git
```2. Suba os containers:
```BASH
docker compose up -d
```3. Acesse o terminal iterativo do container `blogs_api`:
```BASH
docker exec -it blogs_api sh
```4. Crie o banco e rode as migrations:
```BASH
npm run predev
```5. Rode os seeders:
```BASH
npm run seed
```6. Inicie o servidor:
```BASH
npm run dev
```7. O servidor estará disponível na porta `3001`
## Documentação da API
A documentação desta api está disponível na rota `/api-docs`
## Tecnologias utilizadas
- Javascript
- Node
- Express
- Sequelize
- MySQL
- JWT
- Bcrypt
- Joi
- Docker
- Swagger-ui