activitybox

Activity Box

Activity Box

Live updates, and subscriber/publisher implementation encapsulated in RESTful box.

This package just provides you with basic functionality. You still need to create your own client-side scripts, to show data.

This module creates a RESTful API server, and socket.io listner. Any app should post json data to the API, and socket listener will update the client immediately. It uses redis Pub/Sub methods, so you must have redis server running. Request and response should be always in JSON format.

$ npm install activitybox

Run app using default configuration:

var app = require('activitybox');
app.run();

Run app using custom configuration:

var app = require('activitybox');
app.run('path/to/my-config.json');

JSON configuration file default/example:

{
  "server": {
    "name": "activity-box",
    "port": 9000,
    "streamURI": "stream"
  },
  "redis": {
    "host": "127.0.0.1",
    "port": 6379,
    "channel": "my-channel"
  }
}
  • Your running app, will expose a RESTful URI /push to post updates.
  • Sockets will be attached to the namespace streamURI, e.g.: http://localhost:9000/stream/channel-name

To run client, open the following file statically in browser:

test/client.example.html

Example: Post data to the API, using cURL:

$ curl -X POST -H "Content-Type: application/json" -d '{"channel": "ch1", "item": {"title": "t1", "image": "t1.png", "link": "/t1"}}' http://localhost:9000/push

Run tests:

$ npm test

MIT