An easiest solution should be to use webSocket (you can try socketIo). In that way you tell to all of your users in your app to "listen" some changes. As an example in a ToDo list User C will add a todo item, server is notified of this adding, and will emit through web socket to all users listening to this particular event.
socket.io. Hope my answer will be helpful.
There is several ways to use Socket.io. You can emit from the client to the server, and server will emit to the other clients.
Example :
client Side (user adding a ToDo): socket.emit('message', YourTODOVariable);
Server Side: socket.on('message',function(YourTODOVariable){
//do other stuff here;
socket.broadcast.to('ToDo', YourTODOVariable)
})
Client Side (other Users): socket.on('ToDo', function(YourTODOVariable){
ToDo.push(YourTODOVariable) //-> like this everybody got the new variable.
})
I assume it's quite a simple example but I think you can understand with this.
Another solution which I prefer personally is to correlate to node event. As an example a new Http request will fire a node event and will fire a socket.emit to all other client listening.
This post can also help you. Happy coding :)