Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Baron is a WebRTC-based IM for the browser
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
migrations
models
public
views
.gitignore
LICENSE.md
README.md
app.js
ember.json
package.json

README.md

Baron

Baron is a WebRTC-based web application that allows people to have peer-to-peer text, audio and video conversations with permanent accounts and contact lists.

The back-end is written in JavaScript (Node.js), the signaling channel uses Socket.io. The front-end is written in Ember.js. Authentication is done using Mozilla Persona.

Currently a work in progress.

Configuration

Some configuration is stored in environmental variables. Database-related configuration is stored in the database.json file in the root of the application. Here is an overview:

  • BARON_SECRET - no default, cookie secret
  • BARON_PORT - 3000 by default, port under which NodeJS is run
  • BARON_AUDIENCE - Address of publically accessible website (required for Mozilla Persona verification)
  • BARON_SOCKET_AUDIENCE - Address of publically accessible socket.io instance, fallback to BARON_AUDIENCE
  • BARON_ENV - database environment to use, default is dev

The database.json file ought to look like this:

{
  "dev": {
    "driver": "pg",
    "user": "baron",
    "password": "some-password",
    "host": "127.0.0.1",
    "database": "baron"
  }
}

Contributing

We are using ember-tools to generate Ember modules and compile them into the final JavaScript file. You'll need to install ember-tools:

npm install -g ember-tools

And whenever you want to make changes to the front-end, you can run this:

ember build -w

to watch the front-end files for changes and rebuild automatically. See the ember-tools documentation for more information.

Something went wrong with that request. Please try again.