CSV4Tasks is a Node.js (ESM) application that provides a simple CRUD API for managing tasks, plus bulk import from CSV files using streams and the csv-parse library.
- Node.js v20.17.0
- csv-parse: CSV parsing library for Node.js streams
├───/docs
│ Node.js-Ignite-_2025-05-13.json
├───/src
│ ├───database.js
│ ├───routes.js
│ ├───server.js
│ ├───/middlewares
│ │ json.js
│ └───/utils
│ build-route-path.js
│ extract-query-params.js
└───/streams
csv.js
test.csv
- Clone the repository
git clone https://github.com/Vitinho163/CSV4Tasks.git
cd CSV4Tasks- Install dependencies
npm install- Start the API server
npm run dev
The server will listen on http://localhost:3333.
-
Make sure the API is running (
npm run dev). -
Place your CSV file (with header
title,description) into thestreams/folder. -
From project root, run:
node streams/csv.js <your-file.csv>-
Each line in the CSV will be sent as a
POST /tasksto the api. -
When processing finishes, you’ll see:
CSV Importado!
Created with ❤️ by João Victor
--
CSV4Tasks é uma aplicação Node.js (ESM) que expõe uma API CRUD de tarefas e suporta importação em massa via CSV, utilizando streams e a biblioteca csv-parse.
- Node.js v20.17.0
- csv-parse: CSV parsing library for Node.js streams
├───/docs
│ Node.js-Ignite-_2025-05-13.json
├───/src
│ ├───database.js
│ ├───routes.js
│ ├───server.js
│ ├───/middlewares
│ │ json.js
│ └───/utils
│ build-route-path.js
│ extract-query-params.js
└───/streams
csv.js
test.csv
- Clone o repositório
git clone https://github.com/Vitinho163/CSV4Tasks.git
cd CSV4Tasks- Instale as dependências
npm install- Inicie o servidor
npm run dev
O servidor ficará disponível em http://localhost:3333.
-
Garanta que a API esteja rodando (
npm run dev). -
Cole seu arquivo CSV (com cabeçalho
title,description)na pastastreams/. -
Execute no terminal, na raiz do projeto:
node streams/csv.js <your-file.csv>-
Cada linha será enviada como
POST /taskspara a API. -
Ao final do processamento, verá:
CSV Importado!