“Não espere para plantar, apenas tenha paciência para colher”!
Sobre o desafio | Entrega | Licença
Nesse desafio, você deve criar uma aplicação para treinar o que você aprendeu até agora no Node.js!
Essa será uma aplicação para armazenar tasks, que irá permitir a criação, listagem, atualização e remoção de tasks, também deve permitir que as tasks sejam finalizadas ou reabertas e para finalizar, deve conseguir importar arquivos CSV utilizando streams do Node.JS .
-
POST /tasks
: A rota deve recebertitle
,description
dentro do corpo da requisição. Ao cadastrar uma nova task, ela deve ser armazenada dentro de um objeto no seguinte formato:{ id: 'uuid', title: 'Desafio Node.js', description: 'description', completed_at: null, created_at: "data atual", updated_at: "data da última atualização" }
; Certifique-se que o ID seja um UUID. -
GET /tasks
: Rota que lista todas as tasks, nessa rota existe um query param denominado: search onde o valor de search será pesquisado no title e description caso haja valor; -
PUT /tasks/:id
: A rota deve alterar apenas otítulo
, edescription
eupdated_at
da task que possua oid
igual aoid
presente nos parâmetros da rota; -
DELETE /tasks/:id
: A rota deve deletar a task com oid
presente nos parâmetros da rota; -
POST /tasks/:id/complete
: A rota deve completar a task doid
presente nos parâmetros da rota, a cada chamada dessa rota, se a task estava finalizada, ela deve ficar aberta novamente ou vice-versa;
Existe um arquivo chamado: "csv-stream-http-server.js" ao rodar esse arquivo com o node o mesmo se encarregará de ler o csv que está dentro do assets do projeto e fará a importação de todas as tasks que estão dentro do CSV
Ao iniciar a API um banco de dados DB.json é criado na pasta raiz do projeto, dessa forma todos os dados salvos estão sendo salvos nesse arquivo DB.json
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💜 by Ebner Silva 👋