GitHub - Rocketseat/bootcamp-gostack-desafio-01: Desafio do primeiro módulo do B...
source link: https://github.com/Rocketseat/bootcamp-gostack-desafio-01
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
README.md
Desafio 1: Conceitos do NodeJS
“Sua única limitação é você mesmo”!
Sobre o desafio | Entrega | Licença
🚀 Sobre o desafio
Crie uma aplicação para armazenar projetos e suas tarefas do zero utilizando Express.
Rotas
-
POST /projects
: A rota deve receberid
etitle
dentro do corpo e cadastrar um novo projeto dentro de um array no seguinte formato:{ id: "1", title: 'Novo projeto', tasks: [] }
; Certifique-se de enviar tanto o ID quanto o título do projeto no formato string com aspas duplas. -
GET /projects
: Rota que lista todos projetos e suas tarefas; -
PUT /projects/:id
: A rota deve alterar apenas o título do projeto com oid
presente nos parâmetros da rota; -
DELETE /projects/:id
: A rota deve deletar o projeto com oid
presente nos parâmetros da rota; -
POST /projects/:id/tasks
: A rota deve receber um campotitle
e armazenar uma nova tarefa no array de tarefas de um projeto específico escolhido através doid
presente nos parâmetros da rota;
Exemplo
Se eu chamar a rota POST /projects
repassando { id: 1, title: 'Novo projeto' }
e a rota POST /projects/1/tasks
com { title: 'Nova tarefa' }
, meu array de projetos deve ficar assim:
[ { id: "1", title: "Novo projeto", tasks: ["Nova tarefa"] } ];
Middlewares
-
Crie um middleware que será utilizado em todas rotas que recebem o ID do projeto nos parâmetros da URL que verifica se o projeto com aquele ID existe. Se não existir retorne um erro, caso contrário permita a requisição continuar normalmente;
-
Crie um middleware global chamado em todas requisições que imprime (
console.log
) uma contagem de quantas requisições foram feitas na aplicação até então;
📅 Entrega
Esse desafio não precisa ser entregue e não receberá correção, mas você pode ver o resultado do código do desafio aqui. Após concluir o desafio, adicionar esse código ao seu Github é uma boa forma de demonstrar seus conhecimentos para oportunidades futuras.
📝 Licença
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com ♥ by Rocketseat 👋Entre na nossa comunidade!
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK