Descrição | Rotas | Instruções
Nesse desafio, você deverá criar uma aplicação para treinar o que aprendeu até agora no Node.js!
Essa será uma aplicação para gerenciar tarefas (em inglês todos). Será permitida a criação de um usuário com name
e username
, bem como fazer o CRUD de todos:
- Criar um novo todo;
- Listar todos os todos;
- Alterar o
title
edeadline
de um todo existente; - Marcar um todo como feito;
- Excluir um todo;
Tudo isso para cada usuário em específico (o username
será passado pelo header).
A rota deve receber name
, e username
dentro do corpo da requisição. Ao cadastrar um novo usuário, ele deve ser armazenado dentro de um objeto no seguinte formato:
{
id: 'uuid', // precisa ser um uuid
name: 'Matheus Navarro',
username: 'navarrotheus',
todos: []
}
A rota deve receber, pelo header da requisição, uma propriedade username
contendo o username do usuário e retornar uma lista com todas as tarefas desse usuário.
A rota deve receber title
e deadline
dentro do corpo da requisição e, uma propriedade username
contendo o username do usuário dentro do header da requisição. Ao criar um novo todo, ele deve ser armazenada dentro da lista todos
do usuário que está criando essa tarefa. Cada tarefa deverá estar no seguinte formato: . Certifique-se que o ID seja um UUID.
{
id: 'uuid', // precisa ser um uuid
title: 'Nome da tarefa',
done: false,
deadline: '2021-02-27T00:00:00.000Z',
created_at: '2021-02-22T00:00:00.000Z'
}
A rota deve receber, pelo header da requisição, uma propriedade username
contendo o username do usuário e receber as propriedades title
e deadline
dentro do corpo. É preciso alterar apenas o title
e o deadline
da tarefa que possua o id
igual ao id
presente nos parâmetros da rota.
A rota deve receber, pelo header da requisição, uma propriedade username
contendo o username do usuário e alterar a propriedade done
para true
no todo que possuir um id
igual ao id
presente nos parâmetros da rota.
A rota deve receber, pelo header da requisição, uma propriedade username
contendo o username do usuário e excluir o todo que possuir um id
igual ao id
presente nos parâmetros da rota.
Para baixar as dependências:
yarn
Rodar os testes:
yarn test
Rodar a API em modo de desenvolvimento:
yarn dev