ConveyorJS

View on Github: https://github.com/dboskovic/conveyorjs

ConveyorJS is a normalized data API that can be used with any application in order to maintain state across multiple APIs.


Example Scenario

  1. You have a web-based event calendar.
  2. You create an event and invite someone to it, posting to an HTTP api.
  3. You sync that event onto the invitees webapp with a socket.io payload.
  4. Invitee accepts event, and adds a location, posting to the API.
  5. You receive a socket.io payload with the accepted invite and location.
  6. Your app must now do the following:
    1. See if you've made any local - unsaved changes.
      • If you have, make sure that new changes received do not conflict. If there are conflicts, the user must be given an easy way to resolve them (maybe you added a different location?)
    2. Merge in changed data that is being pushed from the server (already saved) with local changes (not yet saved).
    3. Synchronize changes with the UI (some frameworks will do this automatically - like Angular).
    4. Allow you to save your local changes to the model without over-riding changes on the server.
  7. In addition to this, you may go offline, and want to fall back to local-storage without hurting the users' experience. When you come back online you may want to sync that LocalStorage data with the server.

results matching ""

    No results matching ""