An experiment using picos to fully shard a database
This application was the focus of a presentation entitled "Credential-Based Login To A Pico-Based Application" at the 32nd Internet Identity Workshop, held virtually in April 2021 (PDF proceedings, pp. 139-149). These slides accompanied the presentation.
The realization that this is a web application implemented entirely with picos inspired the first post, "Picos as a web application development stack".
Other than a handful of static assets, in the homepage and images folders, every page of the application is delivered to the browser by evaluating queries against KRL rulesets in the krl folder.
The setup of the webserver, including providing a certificate so that it uses TLS, is described in the operations folder.
The database could be compared to a table holding information about participants, with a list pico representing the entire collection and a participant pico representing each participant.
Currently there is an index on last name, first name. Part of the experiment will include additional indexes, and understanding how they are represented using picos and KRL rulesets.
Login requires a verifiable credential held in a smartphone wallet to answer a proof request (as outlined in the slide deck mentioned earlier).
Both the credential and the verification are handled by calling a Trinsic API.