GithubHelp home page GithubHelp logo

angularchat's Introduction

AngularChat - chat app using node.js, socket.io and AngularJS

Libraries used

Backend

  • node.js
  • socket.io
  • Express
  • node-uuid
  • underscore
  • ejs
  • shrinkwrap

Frontend

  • AngularJS
  • Angular-Bootsrap (angular-ui)
  • Bootstrap (Yeti theme)
  • Font Awesome

Functionality

The functionality list will continually be extended.

  • People can join the chat server after picking a username (usernames have to be unique per user, alternative usernames are generated as well)
  • Once connected people can createa 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

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

Also, tell the frontend where to listen for socket.io - update public/js/services.js:

var socket = io.connect('192.168.56.102:3000');

(the IP address or host name here should be the same that you've defined in app.js at the backend.)

To install the application execute npm install. This will also automatically install all frontend dependcies using bower (no need to install that separately).

To launch the application please execute node app.js.

For some background on the project, please read this article: http://tamas.io/angularchat/

Demo

For a working demo, please check: http://angularchat-tamasnode.rhcloud.com

Future

I will keep on adding new featues that I have removed from the other application such as:

  • whisper (private messages)
  • Web Speech API
  • "and who knows what else..." :)

angularchat's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.