Minimally you will need HTTPS, a service worker serving 200, a manifest, and some graphic files. A good way to find out what you need is to run the Lighthouse PWA audit in Chrome.