jfernandesdev / api-tasklist

Desafio 01 API CRUD: Ignite - Trilha: Back-end (Node.js)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

API Tasklist

Desafio 01 desenvolvido para o Ignite Trilha Back-end (Nodejs). O desafio trata-se de API para realizar o CRUD de tarefas (tasks)

Funcionalidades ✅

  • 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.

Tecnologias utilizadas: 🚀

  • Node | 18.12.0
  • Javascript
  • CSV-parse | ^5.3.4

Rotas 🧭

  • POST - /tasks
    • Criar uma task no banco de dados, enviando os campos title e description por meio do body da requisição. Os campos: id,created_at, updated_at e completed_at são preenchidos automaticamente.
  • GET - /tasks
    • Listar todas as tasks salvas no banco de dados. Também é possível realizar uma busca, filtrano as tasks pelo title e description.
  • PUT - /tasks/id
    • Atualizar uma task pelo id. No body da requisição é recebido o title e/ou description para serem atualizados. Se for enviado somente o title, significa que o description não pode ser atualizado e vice-versa.
  • PATCH - /tasks/:id/complete
    • Marcar a task como completa
  • DELETE - /tasks/:id
    • Remoção de uma task pelo id.

Rodando a aplicação localmente ⚙

// 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

footer-signature

About

Desafio 01 API CRUD: Ignite - Trilha: Back-end (Node.js)


Languages

Language:JavaScript 100.0%