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 instalado em sua máquina.
⚠️ É preciso criar um arquivo.env
na raiz do projeto, siga o exemplo do arquivoenv.example
.
- Clone o repositório:
git clone [email protected]:mairess/project-blogs-api.git
- Instale as dependências:
npm install
- Inicie o container do banco de dados:
docker compose up -d db
- Crie o banco e rode as migrations:
env $(cat .env) npm run predev
- Rode os seeders:
env $(cat .env) npm run seed
- Inicie o servidor:
env $(cat .env) npm run dev
- O servidor estará disponível na porta
3001
Rode o projeto com o docker
⚠️ É preciso ter o Docker instalado em sua máquina.
- Clone o repositório:
git clone [email protected]:mairess/project-blogs-api.git
- Suba os containers:
docker compose up -d
- Acesse o terminal iterativo do container
blogs_api
:
docker exec -it blogs_api sh
- Crie o banco e rode as migrations:
npm run predev
- Rode os seeders:
npm run seed
- Inicie o servidor:
npm run dev
- O servidor estará disponível na porta
3001
A documentação desta api está disponível na rota /api-docs
- Javascript
- Node
- Express
- Sequelize
- MySQL
- JWT
- Bcrypt
- Joi
- Docker
- Swagger-ui