marketing

Marketing materials (presentations, posters, flyers)
Log | Files | Refs

commit 85e8feaec5ae5a9ad25441723937dafe685f9a33
parent 636f1a7874da534142cbde22eb33dc8514c43ac1
Author: Florian Dold <florian@dold.me>
Date:   Fri,  8 Jan 2021 15:53:23 +0100

idb student project

Diffstat:
Astudent-projects/indexeddb-node.txt | 35+++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+), 0 deletions(-)

diff --git a/student-projects/indexeddb-node.txt b/student-projects/indexeddb-node.txt @@ -0,0 +1,35 @@ +Project Title: High performance backend for IndexedDB in Node.JS with TypeScript + +Prerequisites: Basic knowledge of JavaScript/TypeScript, basic familiarity +with relational and non-relational databases. Familiarity with SQL and +node.js is a plus. + +IndexedDB is the standardized transactional database system for the Web +platform. Progressive Web applications and browser extensions use IndexedDB to +manage large amounts of structured data. + +While IndexedDB is supported by a significant majority of browsers currently in +use, support for IndexedDB in JavaScript applications outside of the browser is +severely lacking. This makes it difficult to write applications that use +persistent transactional data storage and can run both in the browser and on +other platforms such as Node.JS. + +The standardized API of IndexedDB is relatively small and simple when compared +to SQL dialects, and as such it is relatively simple to write an implementation +of IndexedDB. + +The idb-bridge package (developed as part of the GNU Taler project) already +provides a TypeScript/Node.JS implementation of the IndexedDB API with a single +JSON file as a backend. However, this implementation suffers from major +performance issues and does not support concurrent access. + +The goal of this project is to design, implement and benchmark a new storage +backend for IndexedDB in TypeScript based on the existing bridge-idb project. +A potential candidate for the improved storage backend is SQLite3, but other +choices (such as LevelDB) can be evaluated as well. + +Further resources: +* https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API +* https://www.w3.org/TR/IndexedDB/ +* https://git.taler.net/wallet-core.git/tree/packages/idb-bridge +* https://hg.mozilla.org/mozilla-central/file/tip/dom/indexedDB/Key.cpp