Puck is a service that accepts a websocket connection from web apps using the Puck client. It validates events the events sent to it, applies necessary transformations, and forwards the data off to all of the places it needs to be tracked. Currently that is Keen.io, Blink, and a backup database.
This app uses the Heroku runtime, get the Heroku toolbelt here if you don't already have it.
$ cp .env.example .env $ npm install $ npm start
mongod installed locally if you want to test the database backup.
If you want to simulate a socket connection, this is a useful tool http://amritb.github.io/socketio-client-tool
npm run test for automated testing.