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.envna raiz do projeto, siga o exemplo do arquivoenv.example.
- Clone o repositório:
git clone git@github.com: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 git@github.com: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