Couchbase Mobile Syncpoint

Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

Smartphones are becoming more popular than laptops. This explosion of growth has already made mobile applications into a hit product category, but this wave is just beginning. Custom apps are moving into the enterprise for jobs like electronic medical records, point of sale, on-site service, industrial automation, and inventory tracking.

Hello Syncpoint

Syncpoint manages Apache CouchDB databases for multi-device installations. It provides a distributed API so that clients can ask the server to provision channels, and have a database created in the cloud. It also handles new user signup and mobile device pairing, and even works with CouchDB web user signup, if you want to provision databases for your web users.

Syncpoint API is a Node.js app driven by CouchDB's continuous _changes API. Syncpoint interacts with remote clients via CouchSync replication, so application functionality is fast and robust even when the device is offline. For more information on installation, usage, and contributing, see the README and the open source project.

If you like pictures, here's an architecture intro to how you might structure an app with Syncpoint.

If you just want to jump in:

  1. Install Apache CouchDB 1.2
  2. Install node.js >= 0.6.0
  3. Run these commands:
    mkdir syncpoint && cd syncpoint
    npm install syncpoint
    npm start syncpoint
Technical background for contributors and users

Syncpoint is responsible for provisioning and linking new databases between client devices and the cloud CouchDB installation. This means that sync functionality doesn't require the Syncpoint process to be up. Any user signup or channel provisioning requests started when Syncpoint isn't running will be safely spooled in CouchDB and handled on next Syncpoint launch.

Syncpoint API drivers work by listening for document updates in CouchDB. Developers can register listeners for document types, so any additional functionality is just a JavaScript module that binds to the control channel. All of Syncpoint API is implemented in that way, so code examples are easy to find. (Look in the `lib` and `plugins` directories).

We need your feedback and contributions, they will play a huge role in the direction of the project, so please let us know if you are experimenting with Syncpoint.

Related links
  • Syncpoint API: The drivers for pairing TouchDB on mobile devices with Apache CouchDB in the cloud.
  • Legacy Mobile SDKs: The client libraries based on the original Erlang CouchDB codebase: iOS, Android.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.