/Projeto-BlogsAPI

Uma API REST e um banco de dados para a produção de conteúdo para um blog!

Primary LanguageJavaScript

Projeto Blogs API

Uma API e um banco de dados para a produção de conteúdo para um blog!

Sumário


Sobre o Projeto

Tecnologias e Bibliotecas

Como executar o projeto

Sobre os Endpoints

Dicas de scripts prontos

📃 Sobre o Projeto


Desenvolvida durante o curso da Trybe esta API RESTful é para a produção de conteúdo para um blog em que é possível criar, visualizar, atualizar e deletar posts, seguindo a arquitetura MSC e foi utilizado um banco de dados MySQL, para realizar as requisições é necessario estar autenticado com um token JWT. A API foi desenvolvida dentro de containers docker utilizando um container Node.js e um container MySQL


🛠 Tecnologias e Bibliotecas utilizadas no desenvolvimento do projeto


✒ Sobre os Endpoints

  • Todos os endpoints com metodos e corpo da requisição listados abaixo obrigatoriamente necessitam do corpo da requisição no formato do exemplo.

Todos os Endpoints

Corpo da requisição dos endpoints
/login
{
"email": "lewishamilton@gmail.com",
"password": "123456"
}


/user

post

{
 "displayName": "Brett Wiltshire",
 "email": "brett@email.com",
 "password": "123456",
 "image": "http://4.bp.blogspot.com/_YA50adQ-7vQ/S1gfR_6ufpI/AAAAAAAAAAk/1ErJGgRWZDg/S45/brett.png"
}


/categories

post

{
 "name": "Typescript"
}


/post/{id}

put

{
 "title": "Latest updates, August 1st",
 "content": "The whole text for the blog post goes here in this key"
}


🚀 Como executar o projeto

Pré-requisitos

Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js.

É recomendado utilizar algum cliente HTTP, como Postman ou o Insomnia.

Além disto é bom ter um editor para trabalhar com o código como VSCode


1- Clonar o repositorio

git@github.com:andremarquezz/Projeto-BlogsAPI.git

🐳 Rodando no Docker

Com Docker

Rode o serviço node com o comando

docker-compose up -d
  • Esse serviço irá inicializar dois containers chamados blogs_api e blogs_api_db, respectivamente.
    • A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.

Via CLI use o comando

docker exec -it blogs_api bash
  • Ele te dará acesso ao terminal interativo do container blogs_api(node) criado pelo compose, que está rodando em segundo plano.

Instale as dependências dentro do container com

npm install

⚠️Atenção: Caso opte por utilizar o Docker, TODOS os scripts disponíveis no package.json devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec.


💻 Rodando Localmente

Instale as dependências com o comando

npm install
  • Para rodar o projeto desta forma, obrigatoriamente você deve ter o node instalado em seu computador.
    • Recomenda-se a versão ^16

⚠️Atenção: Não esqueça de renomear/configurar o arquivo .env.example


💡 Dicas de scripts prontos

Scripts
  • Criar o banco de dados e gerar as tabelas:
  npm run prestart
  • Popular o o banco de dados:
  npm run seed
  • Dropar o banco de dados:
  npm run drop
  • Iniciar o servidor Node:
  npm start
  • Iniciar o servidor Node com nodemon:
  npm run dev
  • Rodar os testes:
  npm test
  • Rodar coverage para ver a cobertura dos testes:
  npm run test:coverage