72

GitHub - Rocketseat/bootcamp-gostack-desafio-01: Desafio do primeiro módulo do B...

 4 years ago
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.
neoserver,ios ssh client

README.md

GoStack

Desafio 1: Conceitos do NodeJS

“Sua única limitação é você mesmo”!

GitHub language count Made by Rocketseat License Stargazers

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 receber id e title 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 o id presente nos parâmetros da rota;

  • DELETE /projects/:id: A rota deve deletar o projeto com o id presente nos parâmetros da rota;

  • POST /projects/:id/tasks: A rota deve receber um campo title e armazenar uma nova tarefa no array de tarefas de um projeto específico escolhido através do id 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!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK