An open API service indexing awesome lists of open source software.

https://github.com/tpiros/advanced-chat


https://github.com/tpiros/advanced-chat

Last synced: 9 months ago
JSON representation

Awesome Lists containing this project

README

          

# 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:


  • http://tamas.io/node-jssocket-io-chat-app-with-geolocation-and-user-agent-support/

  • http://tamas.io/chat-2-0-supercharged-chat-written-in-node-js-and-socket-io/

  • http://tamas.io/simple-chat-application-using-node-js-and-socket-io/

  • http://tamas.io/advanced-chat-using-node-js-and-socket-io-episode-1/

# Learn the latest on web development
https://fullstack-developer.academy