

Open source Rails apps to study and learn from - chrislo
http://blog.chrislowis.co.uk/2010/05/31/five-rails-apps-to-study-and-learn-from.html

======
danieldon
I don't agree with this list. Spot.us, for instance, has completely non-
standard controller code that goes against widely accepted conventions. I also
haven't looked at lovd by less in a while, but last I checked they relied on
widespread monkey patching of core Ruby and Rails classes just to avoid
writing a couple characters.

Also very notably absent is gemcutter (<http://github.com/qrush/gemcutter>)
which is actually clean, modern and adheres to conventions.

~~~
dtran
Even though I haven't heard of it, just from the 439 watchers and 96 forks on
Github, I'd probably look to it as an example of at least decent code.

This is why I <3 Github - really great way to learn good coding conventions.

~~~
danieldon
There are only a handful of active lovd by less forks and none of them have
apparently removed the pervasive, unnecessary monkey patching.

If you don't know what I'm referring to, start reading the code, notice that
there are a bunch of weird, non-standard methods that don't seem to be defined
anywhere and notice that core classes don't work the way you expect. Then,
maybe you'll end up needing to do what I had to, grep the project to find all
the monkey patching here: [http://github.com/stevenbristol/lovd-by-
less/tree/master/ven...](http://github.com/stevenbristol/lovd-by-
less/tree/master/vendor/plugins/less_monkey_patching/lib/)

That mostly undocumented plugin, which introduces changes used extensively
throughout the app, is not the kind of thing that should be presented to new
Rails developers as a good practice.

Aside from the monkey patching, lovd by less does provide some very good
examples of how to approach a variety of things in Rails, but the monkey
patching is so pervasive that it's unavoidable.

~~~
chrislo
This is a great point. I'm the author of the original article, I'll update to
link to specific concerns and also add a couple of the projects that some
other people have suggested.

The article was in no way meant to be a definitive resource, just an attempt
to continue helping new Rails developers learn how to work with the framework.
The many useful comments I've received will help improve the article a lot.

~~~
mhartl
Take a look at Ruby on Rails Tutorial (<http://www.railstutorial.org/>). The
sample application, a tiny Twitter clone, is designed to be fully up-to-date
in coding style (though of course it reflects some of my particular
idiosyncrasies). I just finished the Rails 2.3 book last week, so a definitive
version of the source isn't ready yet, but there will be one eventually. (I'm
focusing on the Rails 3 version first.)

On the other hand, if you want to _follow_ the tutorial and make a definitive
version of the code yourself (preferably with tags for each chapter end), I'd
be happy to throw it up on GitHub. And you might just get a nod in the
acknowledgments. ;-)

------
thomasfl
Gitorious is an open source alternative to github.com hosted on it's own site
<http://gitorious.org/gitorious>

It was recently ported to rails 3 as well.

------
rstocker99
Anybody have a good list for python?

~~~
andrew_k
For Django-based apps - you should definitely take a look at Pinax
<http://pinaxproject.com/>

Satchmo has some interesting approaches to solving certain problems in Django
(like allowing to override general site settings in admin) -
<http://www.satchmoproject.com/>

For examples of more lightweight WSGI apps using Werkzeug:

Zine (blogging engine) - <http://zine.pocoo.org/>

Solace (forum similar to StackOverflow) -
<http://opensource.plurk.com/Solace/>

~~~
tkaemming
Another canonical example is Everyblock: <http://code.google.com/p/ebcode/>

------
nonrecursive
also check out <http://communityengine.org/> as an good, open-source
alternative to lovdbyless.

