- node.js
- socket.io
- Express
- underscore
- ejs
- AngularJS
- AngularUI
- Bootstrap (Superhero theme)
- Users can join the chat server after picking a username (usernames have to be unique per user, alternative usernames are generated as well)
- Once connected, you can create a room (roomnames again have to be unique)
- User agent and geolocation are both automatically detected (geo location has to be approved in the browser first of course)
- People can start chatting with each other once they are ina a room
- Chat history is also displayed, by default the last 10 messages are shown (this setting can be changed)
- 'who is typing' feature is also enabled
Make sure that you update app.js at the backend with your own IP address or hostname:
app.set('port', process.env.OPENSHIFT_NODEJS_PORT || 3000); app.set('ipaddr', process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1');
Then specify port to listen for socket.io by updating public/js/services.js to:
var socket = io.connect();
(the IP address or host name can be blank or equal to what you set consistent with the line above.)
To install the application execute npm install
. This will also automatically install all frontend dependencies using bower.
Working on the following for next version:
- Adding WebRTC Video Chat Support
- Making UI Improvements
- Ability for User's to Specify Settings
- Private Chatrooms/Messages
- Connect to MongoDB for Long-Term Storage