plone / volto

React-based frontend for the Plone Content Management System
https://demo.plone.org/
MIT License
446 stars 603 forks source link

Progressive Web App (PWA) #68

Open tisto opened 6 years ago

tisto commented 6 years ago

Turn plone-react into a PWA. create-react-app now comes with a basic PWA functionality. Might be a good starting point: https://github.com/facebookincubator/create-react-app/pull/1728

ajayns commented 6 years ago

I've already gone through create-react-app and its project structure. How do I move forward now? @tisto

tisto commented 6 years ago

@ajayns I'd recommend starting looking into what a PWA is and does. Make a list of features that you would want to implement during GSoC. You could also start looking into the PWA that comes with create-react-app and try to add new features to it.

You could also start to add some code to create-react-app to talk to plone.restapi (I have some drafts for how-tos I could provide you with if you are interested)

ajayns commented 6 years ago

@tisto I've worked a with PWAs building Angular 2+ apps, think we can follow similar steps for React. I think we'll use Google's PWA Checklist along with Lighthouse in Chrome to set goals and properly implement it.

Yes I've started exploring create-react-app and the plone.restapi. But then the restapi still seems vague to me when I think of how to use it to feed data to the PWA. Anything you can provide would really help!

tisto commented 6 years ago

@ajayns I started to write some tutorials here: https://github.com/kitconcept/plone.restapi-react-tutorial

They are not finished but I guess you could try to follow them and let me know if you run into problems. Feel free to report issues directly in the repo.

ajayns commented 6 years ago

@tisto Okay that's great! I will look into it, thanks!

nileshgulia1 commented 6 years ago

Hey @tisto , What's the status of the work on this :)

ajayns commented 6 years ago

@nileshgulia1 Hey! No work has yet been started yet on this, but you can explore the repo itself and also take a look in the plone docs for how it works and so on.

tisto commented 4 years ago

We would have to add those two files:

https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/src/index.js#L12 https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/src/serviceWorker.js