I spent the starting part of this week finalizing the QR code scanning and attendance taking. As per Dr. Shawn’s suggestion, I shifted from the usage of an in app Vuejs QR code scanner and instead added in the Cordova Camera plugin. The camera plugin was added along with a npm QR code decoding library which could pass the decoded JWT token to another npm library which subsequently verifies the secret from the QR code with another secret stored in the remote database.
Cordova plugins aren’t loaded into an app at the startup and as such the app must be programmed to wait for the “onDeviceReady” event which is fired by Cordova apps asynchronously to indicate that Cordova has successfully loaded and any hardware features of the device are now accessible through related Cordova Plugins. By making use of an EventListener for the “onDeviceReady” Event I was able to modify the code for both web based and Cordova based situational application.
The final part of the app involves developing an interface for the Emcee during the prize award ceremony. The objective of this interface is primarily to make the Emcee’s job as easy and efficient as possible by allowing a tracking mechanism to indicate which prizes have been announced and which haven’t.
I conducted some research to find a suitable Text to Speech library that comes with a natural sounding voice to automate the announcement of prizes entirely but most of the available offline libraries have a more mechanical sounding voice so further research with libraries must still be conducted.