Desafio 01 desenvolvido para o Ignite Trilha Back-end (Nodejs). O desafio trata-se de API para realizar o CRUD de tarefas (tasks)
- Criação de uma task (
id
,title
,description
,completed_at
,created_at
,updated_at
); - Listagem de todas as tasks;
- Atualização de uma task pelo
id
; - Remover uma task pelo
id
; - Marcar pelo
id
uma task como completa; - Importação de tasks em massa por um arquivo CSV.
- Node | 18.12.0
- Javascript
- CSV-parse | ^5.3.4
- POST -
/tasks
- Criar uma task no banco de dados, enviando os campos
title
edescription
por meio dobody
da requisição. Os campos:id
,created_at
,updated_at
ecompleted_at
são preenchidos automaticamente.
- Criar uma task no banco de dados, enviando os campos
- GET -
/tasks
- Listar todas as tasks salvas no banco de dados. Também é possível realizar uma busca, filtrano as tasks pelo
title
edescription
.
- Listar todas as tasks salvas no banco de dados. Também é possível realizar uma busca, filtrano as tasks pelo
- PUT -
/tasks/id
- Atualizar uma task pelo
id
. Nobody
da requisição é recebido otitle
e/oudescription
para serem atualizados. Se for enviado somente otitle
, significa que odescription
não pode ser atualizado e vice-versa.
- Atualizar uma task pelo
- PATCH -
/tasks/:id/complete
- Marcar a task como completa
- DELETE -
/tasks/:id
- Remoção de uma task pelo
id
.
- Remoção de uma task pelo
// Clone o projeto e acesse a pasta:
$ git clone https://github.com/jfernandesdev/api-tasklist.git && cd api-tasklist
// Instale as dependências:
$ npm install
// Rode o servidor (http://localhost:3333)
$ npm run dev
// Para rodar a importação do CSV:
$ node stream/import-csv.js