The main idea is almost the same of every progressive web app, use a service worker together with a local storage system to offer a full offline experience. Now there is some limitations in this implementation that I will discuss later, but generally, the idea is to use the service worker, through the se-precache
chrome library, to cache only the assets, and leave the data (the state of the choo app) to be handled with localforage, which use indexDB when availaible with a fallback to webSQL for older browsers.
An actual limitation is that even when the app has a fast first load thanks to the offline approach, right now to use the app it currently depends on the network to be availaible, now to fully support offline work is necesary to handle the net status and define a fallback function for that situation.
MIT © Yerko Palma