node package manager


Manage friendships between users in your app, knowing when they gets online and offline


Friends Manager for your application, will manage relationships between userids and a socketid, which could b-e used with to manage the online and offline friends in real time.

npm install friendship --save-dev
var Friendship = require('friendship');
var friendship = new Friendship({
  expire: 3000 //auto checkouts in 3 seconds 
friendship.register('uid1', ['uid2', 'uid3', 'uid4']);
friendship.checkin('uid1', 'socketId');

After the expire time (set on initialization), this socket will do a checkout unless a .check() is run before it.

friendship.check('uid1', 'socketId');
friendship.checkout('uid1', 'socketId');

Can also run a checkout of all sockets that it could have:


This will run a checkout of all sockets and remove the user from any relationship. Can be used to make the user to an offline state on every socket.

  • Add option to use Redis store.
  • A way to clear all.
  1. Fork this repo
  2. run npm install
  3. Create the tests for the new functionality or bug case
  4. Put your awesome code
  5. run grunt test
  6. All good?, place a pull request