Sobre • ToDos • Instalação • Tecnologias • Autor
Projeto proposto no desafio complementar do módulo 1 da trilha do bootcamp de NodeJS da Rocketseat cujo objetivo era colocar em pratica e fixar os conceitos aprendidos sobre a construção e funcionamentos de middlewares no Node.
O intuito desse projeto foi construir middlewares para uma API em escrita NodeJS com o intuito de consolidar os ensinamentos do módulo I do bootcamp Ignite na trilha de NodeJS.
O projeto base da API está no meu Github, nesse repositório, e lá estão descritas as rotas e funcionalidades da aplicação. Em resumo é um projeto para gerenciamentos de to-dos.
Com base no projeto acima citado, o desafio complementar do módulo pediu a implementação dos middlewares os quais serão descritos abaixo:
Esse middleware é responsável por receber o username do usuário pelo header e validar se existe ou não um usuário com o username passado. Caso exista, o usuário é repassado para o request e a função next deve ser chamada.
Esse middleware recebe o usuário já dentro do request e chamar a função next apenas se esse usuário ainda estiver no plano grátis e ainda não possuir 10 todos cadastrados ou se ele já estiver com o plano Pro ativado.
Esse middleware recebe o username de dentro do header e o id de um todo de dentro de request.params
. É validado o usuário, garantido que o id
seja um uuid e também validado que o id
pertence a um todo do usuário informado.
Com todas as validações passando, o todo encontrado deve ser passado para o request
assim como o usuário encontrado também e a função next é chamada.
Esse middleware possui um funcionamento semelhante ao middleware checksExistsUserAccount
mas a busca pelo usuário é feita através do id de um usuário passado por parâmetro na rota. Caso o usuário tenha sido encontrado, o mesmo é repassado para dentro do request.user
e a função next deve ser chamada.
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js. Além disso é bom ter um editor para trabalhar com o código como VSCode.
# Clone este repositório
$ git clone git@github.com:MrRioja/todos-ignite-with-middlewares.git
# Acesse a pasta do projeto no terminal/cmd
$ cd todos-ignite-with-middlewares
# Instale as dependências
$ npm install
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn
# Execute a aplicação em modo de desenvolvimento
$ npm run dev
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn dev
# Execute os testes da aplicação
$ npm run test
# Caso prefira usar o Yarn execute o comando abaixo
$ yarn test
# O servidor inciará na porta 3333 - acesse <http://localhost:3333>