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
https://docs.mongodb.com/manual/installation/
Redis see
https://redis.io/topics/quickstart
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://127.0.0.1:27017/sync';
var redisUrl = 'redis://127.0.0.1:6379';
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() {});
});
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