A simple Twitter-like Sinatra application for TorqueBox.
Dependencies and all configuration is done in environment.rb. Your database is also set up here. DataMapper will use postgresql by default. Tests use the sqlite3-memory adapter (no configuration needed).
You need TorqueBox. If you don't already have it installed, it's easy to do. Download the latest and follow the instructions.
Once you've done that, be sure you have these environment variables.
TORQUEBOX_HOME=/path/to/torquebox
JBOSS_HOME=$TORQUEBOX_HOME/jboss
JRUBY_HOME=$TORQUEBOX_HOME/jruby
PATH=$JRUBY_HOME/bin:$PATH
Chirpr (and TorqueBox) depend on a few gems. Install them.
$ jruby -S bundle install # from chirpr root dir
Run these commands as a user who has database CREATE priviledges for a local PostgreSQL instance.
$ ./script/dbsetup install
$ jruby -S rake db:migrate
You can scribble a TorqueBox deployment descriptor to
$TORQUEBOX_HOME/apps/chirpr-knob.yml
by hand, or use the rake task.
$ jruby -S rake torquebox:deploy
In either case you'll need to set your Twitter OAuth credentials since we use that to authenticate users. Add these to the environment section so that your yaml looks something like this.
application:
root: /path/to/chirpr
web:
context: /
environment:
oauth_key: YOUR_KEY_FROM_TWITTER
oauth_secret: YOUR_SECRET_FROM_TWITTER
If you've done all of that, you're good to go. To run chirpr in development mode, issue the following command.
$ jruby -S rake torquebox:run
- Download and store a user's twitter profile image locally/cloudly when the Profile is created. On subsequent logins, check the response from twitter for the latest profile image url and compare. If it's changed, update the local image.
- Styling, styling, styling
- Other things I haven't thought of. Or have thought of and forgotten about.