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.shThen open in a browser http://localhost:3000
Need to generate sample CSV files?
node gen-20K-lines-csv.jsnode gen-10MB-csv.jsIt will take some time. Be patient.
node gen-1GB-csv.js