Enable offline data interaction for GraphQL Apollo 2

For $1,500 — Ends 6 Jul 2018

We have a mobile app in Angular 4 (Ionic 4) using GraphQL to fetch, mutate, and subscribe to data on our backend servers. What I really want is gracefully enable offline data interaction so that our app can capture user entries, display the optimistic results, and then send the buffered mutations to the server when the internet connection is available again.
I'm rather annoyed that Apollo 2.x has dropped the redux store and corresponding redux-offline options. It looks like the new potential is to build apollo-link handlers and let the network transport chain transparently buffer the operations. Poking around the internet, it appears that some folks have started in this direction with:
https://github.com/helfer/apollo-link-optimistic
https://github.com/helfer/apollo-link-queue
My goal for this is to build out a reusable component that can be contributed to the community as Open Source and have shared support and maintenance.
Successful completion of this project would be a working proof-of-concept Ionic 4 project that demonstrated the ability to connect to a GraphQL server for an initial data load, then have the internet connection shut off with the app recognizing that the internet connection is offline, allow additional data changes with realtime query result and UI changes, and then have the data mutations sent to the server when the internet connection is available again.
Of particular interest/concern is handling the case of having an new GraphQL object created, having a temporary id assigned in the optimistic mutation handler, having additional mutations modify that offline-created object, and then appropriately handling getting an official ID from the server and still applying the buffered follow-on mutations. - $1500.0


Sign up to apply →

Posted on freelancer.com





Know a freelancer that can do this job?

Earn lifetime commission for every freelancer you refer, by becoming an affiliate. Find out more

Share this job: