Sometimes to best way to get up to speed with a new technology is learning by example. I have compiled a list of fully featured, production ready example applications that I consider to be of very decent quality.
Most are RESTful and all have good-great test coverage. I listed components like the authentication, templating, and testing frameworks they employ – perhaps useful if you are looking for examples of saycucumber stories, or maybe how to use haml markup. Also listed are some of the gems and plugins they leverage which I think are either useful or popular and worth checking out if you are not already familiar with them.
If you know of other quality apps I have missed just let me know in the comments section and I will add them. So in no particular order here they are – Enjoy!
Homepage: http://railscasts.com/
Github: http://github.com/ryanb/railscasts
You’ve probably seen his excellent video tutorials, but did you know Ryan Bates also gives away the code that powers his site?
Plugins: redcloth, acts-as-list, will_paginate, whenever
Templates: ERB
Testing: RSpec(controllers, helpers, models)
Search: ThinkingSphinx
Homepage: http://gemcutter.org/
Github: http://github.com/qrush/gemcutter
“Awesome gem hosting”. Good source of cucumber story examples. Also a few Rack examples, including middleware that uses Sinatra to serve files from Amazon’s S3 service. Also some memcache action going on, and somedelayed_jobs.
Authentication: clearance
Plugins: pacecar, will_paginate, high_voltage, jrails
Templates: ERB, also uses the 960.gs grid framework
Testing: test unit(functional, unit), Factory Girl, shoulda, cucumber
Search: named_scopes
Homepage: http://www.spot.us/
Github: http://github.com/spot-us/spot-us
Crowdsourcing and Crowdfunding local news stories.
Authentication: restful-authentication
E-Commerce: active_merchant, ssl_requirement
Plugins: acts_as_state_machine(aasm), fastercsv, attribute_fu, paperclip, subdomain_fu
Templates: haml (no sass), compass
Testing: RSpec(models, views, controllers, helpers), Factory Girl
Homepage: http://spreecommerce.com/
Github: http://github.com/railsdog/spree
An excellent base to build ecommerce sites from.
Authentication: authlogic
E-Commerce: active_merchant, ssl_requirement
Plugins: pluginaweek-state_machine, will_paginate, whenever, chronic, acts-as-list, attribute_fu, awesome_nested_set,paperclip
Templating: haml, compass, sass
Testing: RSpec(controllers, models), test unit(functional, unit)
Homepage: http://bostonrb.org/
Github: http://github.com/bostonrb/bostonrb
This is a pretty cutting edge rails app. Follows ThoughtBot’s best practices.
Authentication: clearance
Plugins: inherited_resources, acts_as_versioned, autochronic, geokit, jrails
Templating: haml, sass
Testing: mocha, shoulda, cucumber, Factory Girl, webrat, fakeweb
Homepage: http://www.railsdevelopment.com/
Github: http://github.com/engineyard/rails_dev_directory
Here is a fresh new app just released from the guys at EngineYard. An web directory of professional Rails development firms. Good example for dealing with internationalization(I18N) and localization(L10n). Also many cucumber features.
Authentication: authlogic
Authorization: can_has
Plugins: acts_as_state_machine(aasm), acts-as-list, paperclip, recaptcha, redcloth, shortcode_url, ssl_requirement,will_paginate, xss_terminate, jrails
Search: ThinkingSphinx
Testing: RSpec(controllers, helpers, models), cucumber, Factory Girl
Homepage: http://dogfood.insoshi.com/
Github: http://github.com/insoshi/insoshi
An OpenSource social network platform in Rails
Authentication: restful-authentication, open_id_authentication
Plugins: acts-as-list, annotate_models, attachment_fu, jrails
Search: ultrasphinx
Testing: RSpec(controllers, helpers, models, views)
Homepage: http://wiki.github.com/jamis/bucketwise
Github: http://github.com/jamis/bucketwise
A simple web based personal finance application. A pretty straight forward application that doesn’t leverage many plugins.
Testing: test unit(unit, functional)
Homepage: http://fatfreecrm.com/
Github: http://github.com/michaeldv/fat_free_crm
Fat Free CRM is an open source Ruby on Rails-based customer relationship management platform. Out of the box it features group collaboration, campaign and lead management, contact lists, and opportunity tracking.
Authentication: authlogic
Plugins: acts_as_commentable, advanced_errors, annotate_models, paperclip, will_paginate
Search: simple_column_search
Templating: haml, sass
Testing: RSpec(controllers, helpers, models, routing, views), faker, Factory Girl