Discourse is definitely what many would consider a “Flag ship” product for Ember, but it might not be the best learning resource, especially for beginners.
The code base is rock solid, but they have done a lot of very “Discourse-y” things to Ember that can make it a hard product to decipher.
If you don’t have the Ember inspector extension for Chrome yet, go get it. It gives you a high level, visual overview of an Ember application’s structure. In my opinion, this is the best way to start examining Discourse.
Once you’ve gotten a feel for how everything is structured, you’ll be more comfortable digging around in the source code.
Just to clarify some of my issues with Discourse as a learning resource:
- heavy use of customized version of ember object. (
Discourse.ObjectController instead of
- Ruby/RoR based asset pipeline
- Not using Ember Data
- At this point, it’s just flippin’ huge.
All totally understandable/good practices, but definitely can make your head spin if you’re just getting into it.