[x] add service worker to cache any assets(document, images, icons, scripts)
gonna use cache first then internet strategy for assets, and internet only for getting dynamic data like API calls
[ ] add offline page
[x] trigger update with every push(because we serve any html/css/js from the cache so we need mechanism to inform the client that their cache is out dated)