Neste projeto desenvolvi uma API e um banco de dados MySql para a produção de conteúdo para um blog.
Trata-se de uma aplicação em Node.js
usando o pacote sequelize
para fazer um CRUD
de posts.
-
Os endpoints são conectados ao banco de dados seguindo os princípios do REST;
-
Para fazer um post é necessário usuário e login, portanto existe uma relação entre
user
epost
; -
Os posts possuem categorias e portanto existe a relação de
posts
paracategories
e decategories
paraposts
.
Você pode rodar a aplicação localmente ou utilizando containers em docker para o node e o banco
Rode os serviços
node
edb
com o comandodocker-compose up -d --build
.
- Lembre-se de parar o
mysql
se estiver usando localmente na porta padrão (3306
), ou adapte, caso queria fazer uso da aplicação em containers; - Esses serviços irão inicializar um container chamado
blogs_api
e outro chamadoblogs_api_db
; - A partir daqui você pode rodar o container
blogs_api
via CLI com o comando:
docker exec -it blogs_api bash
.
- Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
A partir do terminal do docker, instale as dependências com
npm install
Inicie a aplicação com npm start
- TODOS os comandos disponíveis no
package.json
(npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container
Instale as dependências com
npm install
Inicie a aplicação com npm start