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.
- Node.js
- Express
- Sequelize
- MYSQL
- JOI
- Swagger
Clone o projeto e acesse a pasta do mesmo.
$ git clone git@github.com: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.