Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Make site work offline (progressive web app). #40

Open
Alex-Cannon opened this issue Oct 5, 2019 · 4 comments
Open

Feature: Make site work offline (progressive web app). #40

Alex-Cannon opened this issue Oct 5, 2019 · 4 comments

Comments

@Alex-Cannon
Copy link
Collaborator

Alex-Cannon commented Oct 5, 2019

This issue is a "master" issue that should be a list of everything that needs to be done to make the site offline. This is what I have so far:

  1. Make the google spreadsheet a single source of truth PWA: Make 1 call to the spreadsheet instead of scattered calls #54
  2. Cache the spreadsheet / app / api so it's available offline PWA: Cache the spreadsheet / app / api so that it's available offline #55
@Alex-Cannon Alex-Cannon created this issue from a note in Poudre Fire Authority User stories (To do) Oct 5, 2019
@airandfingers
Copy link
Contributor

airandfingers commented Oct 28, 2019

I'm partway into https://serviceworkies.com, which aims to teach Service Workers via an interactive coding "game". I'm interested in learning to use Service Workers by making this app into a PWA, though it'd likely take me a while.

As an intermediate step, refactoring our network calls to always fetch all sheets once at render (instead of fetching the sheets required by each page as we render it) would eliminate the loading times between screens, and I suspect it would make going offline much simpler, since each page would just be reading data fetched right after the initial render.

@Alex-Cannon
Copy link
Collaborator Author

@airandfingers I agree. I added two issues that include 2 steps to make this happen. I'm not familiar with this process either so if there are other steps, let me know and we can break it down more.

Let's make this process as simple as possible. :)

@airandfingers
Copy link
Contributor

Great! Thanks to a happy coincidence, I was able to request and be assigned to a work task today: "Investigate a global state management solution." So there should be at least some overlap between that task and #54.

But going into it, I strongly suspect that the built-in React Context API will be the best/simplest solution.. We use it now at work, and I've also used Redux on a few other projects, but Redux seems like overkill for this.

@Alex-Cannon and @Vpr99, do you have experience with (or a preference for) using the Context API, Redux, MobX, and/or Apollo Client?

@Alex-Cannon
Copy link
Collaborator Author

@airandfingers I'll respond to you on #54

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Development

No branches or pull requests

2 participants