Este projeto trata-se de uma API e um banco de dados para a produção de conteúdo para um blog!
Desafios:
Desenvolver endpoints que estarão conectados ao 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:
Desenvolvido usando: Node.js, Express.js, Docker, Sequelize, JWT
Adquiri essas habilidades ao desenvolver esse projeto:
-
Aderência do código à especificação. O programa deve se comportar como especificado na próxima seção.
-
Organização do código.
-
A qualidade e a cobertura dos testes.
Swagger | Diagrama DER |
---|---|
-
clone o projeto:
git clone git@github.com:Andreyrvs/26-blogs-api.git
Docker
❗ Rode os serviços node e db com o comando.
docker-compose up -d --build
Esses serviços irão inicializar um container chamado
blogs_api
e outro chamadoblogs_api_db
.
docker exec -it blogs_api bash
Back-end
npm install
-
Para rodar o
Banco de dados
npm run drop # "npx sequelize-cli db:drop"
Cria o banco e realiza as
Migration
npm run createdb # npx sequelize-cli db:create && npx sequelize-cli db:migrate
Popula o banco de dados
npm run seed # npx sequelize-cli db:seed:all
O banco devera ter essas tabelas
. Tablelas do banco . -
Para rodar o
Back-end
:⚠️ Use esses comandos dentro do containernpm start
-
Modo desenvolvimento:
npm run debug
Rota da Documentação do Swagger:
localhost:3000/