A node js and socket.io chat application from scratch