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 /tasks
to 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 /tasks
para a API. -
Ao final do processamento, verá:
CSV Importado!