Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Node.js implementation of the FeedHenry Data Syncronisation Server. To be used in conjunction with the FeedHenry Data Syncronisation Client.


You will need a local Mongodb server and Redis server. For information on setting up these

Mongodb see

Redis see

Running on Openshift

The simplest way to run sync server on Openshift is to use Feedhenry Sync Server. It includes Openshift template that sets up Redis and Mongo, and creates the running sync server instance. It is also possible to use the repository for running sync server locally.

Example Server

To run the example server start MongoDB and Redis locally on their default ports then issue the following commands in this repository:

cd examples/basic-express-example/
npm install
node server.js

When the server has started try making the following cURL request:

curl http://localhost:3000/sync/messages -X POST --data '{"fn": "syncRecords"}' -H "content-type:application/json"


npm install --save fh-sync

This will install the latest version of fh-sync and save the installed version in your package.json

To use sync in your application, require it and call connect.

var sync = require('fh-sync');

var mongodbConnectionString = 'mongodb://';
var redisUrl = 'redis://';

sync.api.connect(mongodbConnectionString, {}, redisUrl, function(){});

To configure a dataset for syncing, wait for the sync:ready event, then init the dataset.

sync.api.getEventEmitter().on('sync:ready', function() {
  console.log('sync ready');

  sync.api.init('myDataset', {
    syncFrequency: 10 // seconds
  }, function() {});


See Documentation folder


In order to run the tests, please make sure you have Docker installed.

Before running tests do:

npm install
npm install -g grunt-cli

Then to run the tests use npm test

Cordova client template

The Feedhenry Cordova Sync Template can be used to create client application talking to the sync server.


Node.js implementation of the FeedHenry Data Synchronisation Server. To be used in conjunction with the FeedHenry Data Synchronisation Client.



You can’t perform that action at this time.