Este projeto é um exemplo de como ler um arquivo CSV utilizando streams em Node.js.
Node.js (versão 16.10 ou superior)
TypeScript (versão 5 ou superior)
- Clone o repositório:
git clone https://github.com/mateuschaves/node-streams.git
- Instale as dependências:
npm install
- Crie um arquivo
.env
usando o modelo de exemplo.env.example
Para iniciar o servidor, utilize o seguinte comando:
npm run start
Para iniciar o script que lê o arquivo .csv
, utilize esse comando:
npm run stream
O projeto utilizará o TypeScript para compilar o código para JavaScript antes de iniciar a aplicação.
O projeto utiliza o conceito de streams para manipulação de dados. As streams são usadas para lidar com grandes quantidades de dados de forma eficiente, dividindo-os em pequenos chunks que são processados individualmente.
O fluxo de dados do projeto é o seguinte:
- Uma stream de leitura lê os dados do arquivo CSV e emite cada linha como um chunk.
- Uma stream de transformação recebe os chunks emitidos pela stream de
leitura e transforma cada linha em um objeto do tipo
Task
. - Cada task é enviada para a api com uma requisição do tipo
POST
O arquivo CSV deve ter o seguinte formato:
title | description |
---|---|
Task 1 | Descrição da Task 1 |
Task 2 | Descrição da Task 2 |
- Faça o fork do projeto
- Crie sua feature branch (
git checkout -b feature/nome-da-feature
) - Commit suas mudanças (
git commit -am 'Adicionando nova feature'
) - Faça o push para o branch (
git push origin feature/nome-da-feature
) - Crie um novo Pull Request
MIT