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.
There are two backends that handle message routing; one for Node.js and one for Ruby. To run the Node.js version:
node examples/node/server.js 8000
To run the Ruby version, start a Redis server on your local machine and run:
bundle install rake example[8000]
You can also run the Ruby demo on several ports and use HAProxy to load balance between them.
rake example[7070] & rake example[8080] & rake example[9090] & haproxy -f shared/haproxy.conf
The demo app will then be available on port 3000.
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