Skip to content

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.

License

Notifications You must be signed in to change notification settings

MrRioja/todos-ignite-with-middlewares

Repository files navigation

ToDos com middlewares - Ignite NodeJS

GitHub top language GitHub last commit


SobreToDosInstalaçãoTecnologiasAutor


Sobre

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.

ToDos

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:

checksExistsUserAccount

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.

checksCreateTodosUserAvailability

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.

checksTodoExists

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.

findUserById

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.

Instalação

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.

🎲 Rodando o Back End (servidor)

# 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>

Tecnologias

Node.js

Express.js




Autor

Luiz Rioja

Backend Developer

LinkedIn GitHub Gmail WhatsApp Skype

About

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.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published