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:
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.
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: