songster-project/songster — pull request #55 by rieder91 (2014-12-26 02:51:49+00:00)
Title: Feature/activity stream

this adds the activity stream

to be precise it does the following:
* save votes to the event log (server side)
* add a new tab to the event view
* bucketize eventlog messages to clean up the log (see event-activity-stream.js if you're interested in details)
* this means that it will not show every single vote, it instead sums them together
* the activity log gets the messages as follows:
* all songs from the eventlog rest api at first
* all votes from the eventlog rest api at first
* all subsequent songs from the websockets

some caveats:
* our client side WS-library websocket-client.js currently only supports binding a single callback to an event. the callback for "song_played" is currently registered to so-event-song.js. I just added a notifyActivityStream(..) function to forward this event to the activity log. if we do the same for the votes, we are golden. I did this because it's easier than rewriting and retesting the ws-client (and it works just as well for our usecase of **two** different events [song_played and song_voted]).

here a screenshot of the log:
![stream1](https://cloud.githubusercontent.com/assets/275897/5555505/621ea6f4-8cb2-11e4-82e5-499c69882ecf.PNG)