Skip to content
This repository

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

..
Octocat-spinner-32 node
Octocat-spinner-32 rack
Octocat-spinner-32 shared
Octocat-spinner-32 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.