Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Chat app written in node.js and socket.io

Libraries used

  • node.js / npm
  • socket.io
  • express
  • node-uuid
  • underscore
  • ejs

Functionality

  • 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'), "192.168.56.102", 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.56.102:3000");

with the right IP address/hostname.

To install npm install && bower install and to launch run npm start.

Whisper

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: http://tamas.io/further-additions-to-the-node-jssocket-io-chat-app/

Previous articles related to this topic:

Learn the latest on web development

https://fullstack-developer.academy

About

No description, website, or topics provided.

Resources

License

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •