Created: 2014-05-19 03:30
Updated: 2014-07-10 03:54

SocketChat - simple chat app using node.js, and AngularJS

Backend Stack

  • node.js
  • Express
  • underscore
  • ejs

Frontend Stack

  • 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

Setup and configuration for Deploying to RH Openshift (will vary for Heroku and others...)

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 || '');

Then specify port to listen for 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.

Features in Progress

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
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more