socket.io based text chat