Chat.IO app using node.js and socket.io
- node.js / npm
- socket.io
- express
- node-uuid
- underscore
- ejs
- People are able to join the chat server after entering their names
- Usernames are unique - if a username is taken, a new suggestion is generated
- User agent and geo location are both detected
- People can setup a room. Room names are unique. One person can create on room and join one room
- Users have to join a room to chat, except for the whisper feature.
- Whisper messages are private messages sent between two users
- With a WebSpeech enabled browsers, users can record their messages
- Users can leave a room and/or disconnect from the server anytime
- People joining the room will see the past 10 messages (chat history).
- People will see an 'is typing' message when someone is typing a message.
Make sure that you update index.js:
server.listen(app.get('port'), function(){
console.log('Express server listening on port ' + app.get('port'));
});
and add your own IP address/hostname if required, i.e.:
server.listen(app.get('port'), "192.168.0.6", function(){
console.log('Express server listening on port ' + app.get('port'));
});
(the port is defined in the app.set('port', process.env.PORT || 3000); section.)
Please also update public/js/client.js:
var socket = io.connect("192.168.0.6:3000");
with the right IP address/hostname.
To install npm install && bower install and to launch run npm start.
To send a 'private' message, use the following format in the chat message input box:
w:USERNAME:MESSAGE (where 'USERNAME' is the exact name of the user who you wish to whisper to (case-sensitive). For your convenience you can use the whipser link next to the person's username on the left hand side.)
Now Visit DEMO: https://chatio-alcrazy.c9.io/
