Este projeto faz parte do Desafio 02 do Bootcamp Ignite da Rocketseat, focado em aprofundar o conhecimento sobre middlewares no Express. O objetivo é consolidar os conceitos adquiridos até o momento.
A aplicação gerencia tarefas (todos) para usuários, permitindo a criação, listagem, atualização e exclusão de tarefas, além de operações relacionadas a usuários.
Neste desafio, o foco é nos middlewares, que desempenham funções cruciais para garantir o funcionamento correto da aplicação. Aqui está uma breve descrição de cada middleware:
Valida a existência de um usuário com base no username
passado no header da requisição. Se existir, repassa o usuário para request.user
e chama a função next
.
Verifica se o usuário pode criar um novo todo com base no plano (grátis ou Pro) e na quantidade de todos que possui. Permite a criação se estiver no plano grátis e tiver menos de 10 todos ou se estiver no plano Pro.
Valida se o todo pertence ao usuário, com base no username
do header e no id
do todo passado nos parâmetros. Se válido, passa o todo e o usuário para request.todo
e request.user
, respectivamente, e chama a função next
.
Localiza um usuário com base no id
fornecido nos parâmetros da rota. Se encontrado, repassa o usuário para request.user
e chama a função next
.
Os testes avaliam o funcionamento correto dos middlewares e estão detalhadamente descritos no arquivo de especificação dos testes.
...
- Clone este repositório.
- Instale as dependências com o comando:
yarn
. - Rode a aplicação com o comando:
yarn dev
. - A aplicação estará disponível em:
http://localhost:3333
.
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 por Maxson Almeida 👋