Skip to content

Latest commit

 

History

History
74 lines (55 loc) · 3.02 KB

README.md

File metadata and controls

74 lines (55 loc) · 3.02 KB

Blogs API

Nessa projeto foi realizada a construção de uma API rest, que permiti fazer o CRUD de usuários, posts e categorias (relacionadas aos posts). Para o armazenamento das informações foi usado um container docker do mysql, e para salvar as informações nesse banco foi utilizado o sequelize, outro recurso utilizado foi o JWT (json web token) para identificar o usuário que está fazendo as operações para que assim somente quem deve ter acesso aquela operação possa realiza-lá , toda a aplicação foi estruturada no modelo MSC.

Rodando com Docker 🐳

Rode os serviços node e db com o comando docker-compose up -d --build.

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. information_source Instale as dependências [Caso existam] com npm install. (Instale dentro do container)

⚠️ Atenção : Caso opte por utilizar o Docker, TODOS os comandos disponíveis no package.json (npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec citado acima.

⚠️ Atenção : O git dentro do container não vem configurado com suas credenciais. Ou faça os commits fora do container, ou configure as suas credenciais do git dentro do container.


Tecnologias Utilizadas e Funcionalidades 💻
Funcionalidades

  • Fazer login com a rota: /login (POST)
  • Criar um usuário com a rota: /user (POST)
  • Buscar usuários com a rota: /user (GET)
  • Buscar usuário pelo id com a rota: /user/:id (GET)
  • Criar uma categoria com a rota: /categories (POST)
  • Buscar as categorias com a rota: /categories (GET)
  • Criar um post com a rota: /post (POST)
  • Buscar os posts com a rota: /post (GET)
  • Buscar um post com a rota: /post/:id (GET)
  • Atualizar um post com a rota: /post/:id (PUT)
  • Deletar um post com a rota: /post/:id (DELETE)
  • Deletar o usuario logado com a rota: /user/me (DELETE)
  • Buscar um post por uma palavra chave com a rota: /post/search?q=:searchTerm (GET)
Tecnologias ultizadas

  • Javascript
  • Express
  • Sequelize
  • Json web token (JWT)
  • Docker