Courtenay's Rails Bootstrap

06 Jul 2007

If you haven't checked out Courtenay's Caboose Sample Rails Application it's worth a gander.

If the beauty of Rails is that it keeps you from reinventing the wheel - then Courtenay's bootstrapped project keeps you from reinventing the axle. Or the cart. Pick your metaphor.

Every time I start a new Rails project I end up going through the same hoops. Install the plugins that I always use, copy and paste (and customize) the authentication system from one of my other projects, write out some basic migrations (by hand. Why aren't migrations DRY by default?), and set up some tests. It's usually a couple hours before I'm actually doing ANYTHING NEW.

Enter Courtenay. Savior of my afternoon. Baron of me not wasting time. Czar of saving my lazy ass from writing my own polymorphic image model.

What you get if you start from Courtenay's sample Rails app rather than from scratch:

  • happiness
  • free cash money from Courtenay himself (this might not be true)
  • a session(s) controller
  • RSpec all set up for you to use instead of test::unit
  • 'remember me' functionality via cookies
  • an excellent (and easily modified) authentication scheme
  • a polymorphic image model
  • a simple css and xhtml layout already set up
  • billions more features

Out of the box you just need to set up the database and you can create users and login.

"But Danger, how does this help me?"

Glad you asked ghost blogger question person. What this means is that when you sit down the start a new website the FIRST thing you have to do won't be maintenance or setup work. It'll be something specific to your site. Maybe it's starting a tagging system. Maybe It's developing your layout. It WON'T be creating a user table or a login form. It WON'T be developing a password scheme.

Grab it by the horns:

svn checkout svn://caboo.se/plugins/court3nay/empty_apps/restful_auth_rspec my_new_project

Or, if SVN is still in the world of unfriendly acronyms to you:

svn export svn://caboo.se/plugins/court3nay/empty_apps/restful_auth_rspec my_new_project

Please if you found this post helpful or have questions.