Skip to content
OptimalBitsPublic

About

Realtime model synchronization

Resources

Stars

4 stars

Watchers

3 watching

Forks

Latest commit

 

History

13 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Wing

Socket.io with wings.

Provides the observe pattern for distributed clients and services. Wraps socket.io and redis pub/sub for super easy usage with built in authentication, session support and middleware for express and angular directives.

Best way to explain its use is with an example:

//
// Client
// Observe document 1234 on collection medias.
wing.observe('/medias/1234').on('change', function(keypath, doc))
  
}).on('error', function(err){
  console.log(err);
})

//
// update will trigger all observers but the one updating.
//
wing.update('/medias/1234', {name: "my super name"});

wing.unobserve('/medias/1234');

//
// Server
//
var wing = Wing(socketIo, redisOpts);

//
// Make a keypath observable (needed?, maybe for having rights on it.)
//
wing.observable('/medias/:id', function(session, keyPath){
  
  // This callback is called when a client request to observe the given resource.
  return true;
});

wing.observable('/campaigns/:id');
wing.observable('/funds/:id');


//
// update will trigger all observers but the one updating.
//
wing.update('/medias/1234', {progress: 30});


//
// API.
//
wing.uuid(); // Generates a global unique uuid that can be used by clients or servers.

About

Realtime model synchronization

Resources

Stars

4 stars

Watchers

3 watching

Forks

Releases

Packages

Used by

Contributors

Languages