Booths
A Progressive Web App for paperless booth visit provisioning. Deployed to https://earthday.firebaseapp.com
Usage
- Define booth list on the firebase backend, and also provide the same data in the off-line default store (jsonp file)
- Generate RSA public/private keypair at http://www-cs-students.stanford.edu/~tjw/jsbn/rsa2.html
- RSA library is extended with sign/decodeSign capability to accomodate our use-case
- Encode booth key for each booth and generate QR codes for them
- Distribute the QR codes (generated by http://goqr.me/, listed on https://github.com/bulldogearthday/boothQRs
- Make sure the visitors only see the booth's QR code when they completed the booth's quest
- The visitor can then scan the QR code, unlocking the achievement
App basics
TODO
Fallback for browser which doesn't support getUserMedia
- Computation server side for better security
- Minimize JS and even code to make cheating harder
- Minimize all assets (smaller icon data, minimize CSS too) for decrease load time and better bandwidth
- Inline everything together for faster experience
QR code would read automatically and no SCAN button needed
- Improve cross-platform and cross-browser coverage - improved, but there's always more space for improvement