Skip to content


Repository files navigation

Chat app written in node.js and

Libraries used

  • node.js / npm
  • 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
  • New: People joining the room will see the past 10 messages (chat history).
  • New: People will see an 'is typing' message when someone is typing a message.

Setup and configuration

Make sure that you update server.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'), "", 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("");

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.)

New up to date post:

Previous articles related to this topic:

Learn the latest on web development


No description, website, or topics provided.







No releases published


No packages published

Contributors 4