Neste projeto foi desenvolvido uma API e um banco de dados para a produção de conteúdo para um blog!
Foi desenvolvido uma aplicação em Node.js usando o pacote sequelize para fazer um CRUD de posts.
Foi criado endpoints que estarão conectados ao seu banco de dados seguindo os princípios do REST;
Para fazer um post é necessário usuário e login, portanto será trabalhada a relação entre user e post;
Será necessária a utilização de categorias para os posts, trabalhando, assim, a relação de posts para categories e de categories para posts.
Back-end: Javascript, Node, Express,Sequelize, JWT, MySQL2, Docker
Rode os serviços node e db com o comando docker-compose up -d
.
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 chamado blogs_api_db
.
A partir daqui você pode rodar o container blogs_api
via CLI ou abri-lo no VS Code.
Use 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.
Instale as dependências "Caso existam" com npm install
The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.db: 'platform'
Unsupported config option for services.node: 'platform'
Foram encontradas 2 possíveis soluções para este problema:
- Você pode adicionar manualmente a option platform: linux/amd64 no service do banco de dados no arquivo docker-compose.yml do projeto, mas essa é uma solução local e você deverá reproduzir isso para os outros projetos.
- Você pode adicionar manualmente nos arquivos .bashrc, .zshenv ou .zshrc do seu computador a linha export DOCKER_DEFAULT_PLATFORM=linux/amd64, essa é uma solução global. As soluções foram com base nesta fonte.