7 Barebones Rails Apps To Kick Start Your Development Process
Back in 2005, the first Rails application a novice Rails developer produced was typically a simple blog-like system. This was in no small part thanks to a great screencast produced by David Heinemeier Hansson demonstrating how to create such a system in 15 minutes. Sadly, these screencasts have not been updated to 2008 standards, so sometimes it can be hard to figure out where to start.
Even for experienced developers, it can make sense to have a generic / base / bare-bones application from which to work. Why deal with installing the same plugins over and over and laying down the same generic code? So, here are several barebones Rails apps that might provide a good base for your own template.
Bort
Bort (Github repository) is a very new (first released this month) barebones Rails app by Jim Neath, a British Rails developer. It includes RESTful authentication, pagination (using will_paginate), RSpec, Exception Notifier, an asset packager, a Capistrano recipe, and database-based sessions. It's fully Rails 2.1 compliant.
Bort E-mail Login Fork
A fork of Bort by Matt Hall that uses e-mail addresses for logins rather than usernames. Expect to see a lot of customized forks of Bort over time - it could well catch on as the de-facto barebones / generic Rails application.
The Caboose Sample App
The Caboose Sample App was a big deal when it was unveiled in early 2007, but doesn't appear to have been updated since then. It includes RESTful authentication, a user model with last login and timezones, full timezone support, attachment support (through attachment_fu), basic views using Yahoo! YUI CSS grids, RSpec tests, and exception notification. There's also a specially tailored version for SSL use. Given its age, this might not be a solid starting point, but the code is well worth looking at.
Karmi's Rails I18N Demo App
Karel Minarik, a Czech Rails developer, has produced the "Rails I18N Demo App." It does what it says on the box and acts as a simple, minimal Rails application to demonstrate and test the new (as of Rails 2.2 and edge) Rails internationalization and localization APIs. A good starting point if you want to see how to use I18N in Rails properly under the hood. Karel also has a to-do list application that could act as inspiration.
Social Network Apps
LovdByLess
LovdByLess is an open source general social network Rails application. It includes the usual social networking features, such as friending, messaging, profiles, commenting, user blogs, photo gallery, search, user dashboards, as well as Flickr and YouTube integration. The presentation is very slick. LovdByLess is offered under the MIT license, so reuse is hassle-free.
Insoshi
Insoshi bills itself as a "social networking platform" and is another open source social networking Rails app. Like LovdByLess, it offers the usual gamut of social networking features such as profiles, activity feeds, forums, blogs, messaging, and so forth - along with an administration panel. It's made available under the GNU Affero GPL license, so any changes need to also be open source (under the AGPL) - this could make it unsuitable for commercial projects although an alternative license is forthcoming.
Community Engine Sample App
Community Engine is an open source Rails plugin that adds social network features to an existing Rails app. Developer Bruno Bornsztein, however, has also developed a sample app that acts as a generic template for a fresh Community Engine driven app. He's also produced a tutorial demonstrating how it works and was put together.
Post supported by thoughtbot training — Have you started making Rails apps? Making mistakes you know about? Mistakes you don't know about? We've been there. Learn real-world skills from a top Rails consultancy to take your use of the framework to the advanced level. Using Umbrella Today? as a case study, we'll walk through our process and our code. For truly deep comprehension, each lesson is accompanied by a hands-on workshop where you'll code while we mentor by your side. Bring the joy back to your work.
September 18th, 2008 at 4:45 pm
Most of these kick-start apps are for communities. How about an app that gives you all the basics for your every day app that just requires some admin stuff and user authentication?
I know! BaseApp! Check the source here at GitHub and feel free to send in patches.
http://github.com/ariejan/baseapp
September 18th, 2008 at 5:19 pm
Bort looks really good. I used to use the caboose sample app but it hasn't been maintained over time. A major benefit of these sample apps is that a new developer can read them and get up to speed on how Rails works and the common plugins.
September 18th, 2008 at 6:01 pm
Thanks for the mention, Peter :)
September 18th, 2008 at 6:59 pm
A bunch of this kind of apps can be found here:
http://www.opensourcerails.com/
September 18th, 2008 at 9:24 pm
Community Engine is great for getting the basic guts of a SN up and running so you can focus on building out the parts you're interested in.
I'm using it for a personal project right now... it's given me a great head-start and kept me focused on the more exciting parts.
September 19th, 2008 at 4:30 am
You forgot the OpenID Rails Kit - A starter app with restful_auth and openid integrated and ready to go:
http://railskits.com/openid/
September 19th, 2008 at 4:42 am
I prefer a quick bash script rather than a full app. I keep this script up to date to start off with rspec, jrails, restful-auth, default controller/layout, etc.
http://github.com/npverni/rails-boilerplate-script/tree/master
September 19th, 2008 at 6:15 am
Don't forget "Goldberg":http://www.goldberg.240gl.org/ which always saves me a few days of stupid work.
September 19th, 2008 at 7:05 am
I have also used Bort for one of my apps and it is a definite time saver to get going in setting up a new application. Thanks Jim!
September 19th, 2008 at 2:35 pm
I was just googling for a good list of starter apps for ASP and PHP switchers, 3 1/2 thumbs up!
There's another i18n/2.2 demo:
http://weblog.rubyonrails.com/2008/8/27/demo-of-rails-2-2-internationalization
September 19th, 2008 at 2:50 pm
+1 on the Rails Kit mentioned by Benjamin Curtis. People really should check it out and it really should be added to this list.
September 19th, 2008 at 7:08 pm
You forgot this app:
http://github.com/fortuity/origin_restful_authentication/tree/master
October 10th, 2008 at 5:47 am
You forgot Appstarter ( http://appstarter.latticepurple.com ) which goes much beyond Bort or Blank but still is generic enough to be useful in a lot more cases.
October 10th, 2008 at 6:35 am
Blank is another one. It uses Shoulda instead of RSpec.
http://jamesgolick.com/2008/10/10/blank-a-starter-app-for-r_c-and-shoulda-users/
December 2nd, 2008 at 7:35 pm
Another good one that includes ajax-based crud, user logging and online query is the Bullet on Rails Framework at http://rubyforge.org/projects/bulletonrails
January 1st, 2009 at 10:17 pm
Whoa, some of those are totally new to me, Thanks mates.
March 27th, 2009 at 7:22 am
How about Tog? It is a great platform, built using Desert plugin management system. http://www.toghq.com/
April 6th, 2009 at 8:12 pm
Wow, just thank you!
You gained a RSS subscriber.
August 7th, 2009 at 3:59 pm
Great article and aggregration of starter apps. I like what is offered by most of the starter apps, but found I wanted to include clearance and a few other gems/plugins. For this reason I started a base-project, which can be found via the link on github. It includes rspec, rspec-rails, clearance, prototype and jquery in noConflict mode, caching for styles and javascripts in production, the rubaidh google analytics plugin, geokit, will_paginate, paperclip, exception nofication, and thinking sphinx (with the necessary Rakefile lines commented).
June 18th, 2010 at 5:34 am
For detailed reviews of Bort and Baseapp visit,
http://www.railspassion.com/rails/skeleton-applications/