Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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.

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