Skip to content
This repository was archived by the owner on May 28, 2021. It is now read-only.
This repository was archived by the owner on May 28, 2021. It is now read-only.

Offline Mode #3

@veris-ankitpopli

Description

@veris-ankitpopli

Offline Mode

Currently app won't show a blank screen when offline 😉

  • Request Caching
    • The requests fired via re-quests are automatically cached.
    • re-quests should provide additional config like caching strategy similar to service workers, for updating stale content (offline first, network first, fastest).
    • service worker on web for offline navigation
  • Offline Template Switching
    • action introduced - $template
    • document $template
  • Offline App Sessions 👍 🥇
    • Currently the architecture assumes the session is generated on the backend & it is the sole way of communication.
    • 🤔
  • Action Executors - Runtime, WIdget, Template
    • first version hacky implementation - once the application has been loaded different executors can receive actions & perform actions offline.
    • Runtime to manage offline network retries for in app requests using redux-offline
  • Action Queues
    • first version already implemented - credits to @veris-abhinavanand
    • persistence - switch out custom middleware which manages syncing with database in favor of
      community managed store enhancer like redux-persist
    • retry actions 🤔
  • App specific DB
    • Each app gets its own store.
    • The store can then be exposed using jexl or st for complete offline query language & own database access.
    • move action queues to app specific db

Imported from p-raj/v3-docs#60

Why ?

Earlier discussions about Parking Management Solution revealed that the apps should be able to work offline.
Discussed workflow:

  • User checks in at the Parking Venue, gets a Badge/Card no in exchange of keys. The user might receive an additional link to a web page with an option Get My Ride.
  • The Valet takes the Car & parks at Slot S at Floor F, where F may be negative & the app should be able to work offline. The Valet then updates the corresponding check in entry, with additional details like where the vehicle has been parked.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions