Client app uses HTML5 File.slice()
to read CSV file on a client and send bulk of lines to server
until entire file has been read.
On server we use SQLite3 to store and retrieve saved user records.
App can work with both in-file or in-memory version of SQLite. To change a storage type go to file
./db.js and change a block of code in function createDb(...)
:
} else {
createDbInFile(onDbCreatedFn); // Inserting users to in file DB is veeeery slooow. About 30 ops/s.
//createDbInMemory(onDbCreatedFn); // Insert into memory is a way faster.
}
npm i
./test.sh
./prod_build_run.sh
Then open in a browser http://localhost:3000
Need to generate sample CSV files?
node gen-20K-lines-csv.js
node gen-10MB-csv.js
It will take some time. Be patient.
node gen-1GB-csv.js