blog_api
Projeto Blogs API
Esse projeto foi realizado para exercitar o que foi aprendido no Bloco 24 do Módulo de Back End do curso da Trybe, no qual foi sobre ORM (Object Relational Mapping), JWT e testes de integração.
Nesse projeto foi desenvolvida uma REST API utilizando arquitetura de software MSC através do Node.js e Express. Além disso, foi utilizado o Sequelize como ORM (Object-Relational Mapper) - Mapeador Objeto-Relacional, ou seja, através dele foi possível criar o banco de dados, criar, popular e relacionar tabelas e também manipular os dados do database, realizando operações de CRUD (create, read, update e delete) utilizando apenas métodos JavaScript.
A API é um sistema de gerenciamento de conteúdo para um blog, no qual permite manipular dados dos usuários, dos posts e suas categorias.
Para a gestão de dados, foi utilizado o sistema MySQL.
Para documentação da API foi utilzado o framework Swagger, no qual permitiu identificar quais endpoints podem ser utilizados na mesma, além de exibir os dados necessários na requisição e também os dados entregues na sua resposta.
Tecnologias
- Node.js
- Express
- Sequelize
- MYSQL
- JOI
- Swagger
Como executar
Clone o projeto e acesse a pasta do mesmo.
$ git clone [email protected]:Lucas-Almeida-SD/Trybe-Projeto_26-Blogs_API.git
$ cd Trybe-Projeto_26-Blogs_API
Para iniciá-lo, siga os passos abaixo:
Com Docker
# Criar container
$ docker-compose up -d
# Abrir terminal interativo do container
$ docker container exec -it store_manager bash
# Instalar as dependências
$ npm install
# Deletar o banco de dados (caso exista)
$ npm run drop
# Criar o banco de dados
$ npm run create
# Criar tabelas
$ npm run migrate
# Popular tabelas do banco de dados
$ npm run seed
# Iniciar o projeto
$ npm start
Para executar os testes, utilize o terminal interativo do container e insira o comando abaixo:
$ npm run test
Sem Docker
# Instalar as dependências
$ npm install
# Deletar o banco de dados (caso exista)
$ npm run drop
# Criar o banco de dados
$ npm run create
# Criar tabelas
$ npm run migrate
# Popular tabelas do banco de dados
$ npm run seed
# Iniciar o projeto
$ npm start
Para executar os testes, utilize o terminal e insira o comando abaixo:
$ npm run test
importante: Caso esteja rodando o projeto localmente, garanta que as variaveis necessarias para acessar o banco de dados estão especificadas corretamente no arquivo .env.
Acesse a documentação da API no link localhost:3000/docs.