For my self-education purposes, I would like to investigate the code of a complex Ruby On Rails (preferably 3) business application(s) so that I can get the feel of how to do things in the real world with Rails.
There are tons of "another blog" or "another CMS", but I am really looking into a Rails app with pretty high complexity (in terms of business rules), but not only the CRUDs.
Something like Real-estate systems must be complex enough. Or maybe in the government area (which is always complex by definition :) ).
Thanks.
There are a lot of complex projects you can take a look too.
Like:
diaspora (RoR 3) a social netwok
Spree (RoR 3) an e-commerce solution
Redmine (RoR 2.3) a project management web application
... and so on ...
but, as Fábio Batista said, "I can safely assume that I never really learned anything by just reading other people's code... Getting your hands dirty is the best way to learn anything.".
So my advice is to follow tutorials (Ruby on Rails Guides and Ruby on Rails Tutorial) and screencasts (Railscast by Ryan Bates, RubyPulse and Teach Me To Code) learn Ruby metaprogramming (Metaprogramming Ruby book), look into some well structured gems (like devise) and write code ;)
The church.io app seems full of Rails goodness yet is still decently simple.
Have a look at all the open source rails applications on http://www.opensourcerails.com/. I'm sure you'll find what you're looking for.
Update : see RefineryCMS for example, for a Rails 3 application : http://www.opensourcerails.com/projects/340847-RefineryCMS
I think it's kinda hard to find that kind of code on the web, not just for Ruby but any language. I'm currently writing 2 business-heavy Rails applications, but they are not open-source.
One thing I did while learning was to start rewriting apps I wrote on the past (C# mainly) using Rails... This way you'll have "real" business requirements to work with, and will get a taste of the platform.
I work with programming for 12 years now, and I can safely assume that I never really learned anything by just reading other people's code... Getting your hands dirty is the best way to learn anything.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With