Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Pull request Compare This branch is 1012 commits behind master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
node
rack
shared/public
README.rdoc

README.rdoc

Soapbox – a Twitter-style chat app

Soapbox is a chat app written using Faye and jQuery, with functionality modelled on that of Twitter. You can pick a username, type in some users to follow, and enter messages. You receive messages from anyone you're following, and any messages that mention you using the @username syntax.

Running the demo

There are two backends that handle message routing; one for Node.js and one for Rack. To run the Node.js version:

node examples/node/app.js

To run the Rack version you need a few gems first:

sudo gem install eventmachine rack json sinatra
rackup -s mongrel examples/rack/config.ru

You can also use Thin to run the app as long as Rack::Lint is not being used (it complains about the status codes Thin uses for async responses).

rackup -s thin -E production examples/rack/config.ru

Note that Faye does not depend on Sinatra; the demo just uses it to provide a concrete app behind the Faye middleware.

Source code

There is no server-side logic for this app; the Faye server simply handles message routing between clients and all subscriptions are set up on the client side. Since this is a simple demo of client-side messaging, your username and followees are not persisted across page reloads. The source code for the client is at:

shared/public/soapbox.js
Something went wrong with that request. Please try again.