Tech used: Spring, WebSocket, STOMP, Knockout.js