I came here to say exactly this. Ember is a fantastic choice and it doesn't seen enough love on hnews.
It's got a bit of a learning curve, but once you climb it then it's plain sailing.
Three or four times I've been about to pull the trigger and every time the things that's stopped me is that when I go to look for a sample project to have a read of an actual app using it in anger it seems impossible to find one that meets my criteria: 1. Uses current version of Ember. 2. Uses idiomatic ember. 3. Big enough to not be a toy, ember-data, being the recommended way of doing things, I want to see how it's formatted.
Every time a look it seems like everyone is saying something along the lines of "Here's a good example project except it's N versions old." or "… except it doesn't use insert-feature-that-docs-heavily-recommend-using because that wasn't around when this project started" or "… it uses local storage in place of a database".
I've read the documentation end to end multiple times over the years. I'm not sure why that's not enough for me. I just assume I'll run into trouble and I'd like to see an application with routing, component composition, backend calls, and understand a bit about the recommended backend before diving in.
Ghost admin: https://github.com/TryGhost/Ghost-Admin
Hospital Run: https://github.com/HospitalRun/hospitalrun-frontend
Hummingbird: https://github.com/hummingbird-me/hummingbird-client
repo: https://github.com/travis-ci/travis-web site: https://ember-canary.travis-ci.org/emberjs/ember.js/builds/1...
It even has a version that tracks commit by commit right off ember#master https://ember-canary.travis-ci.org/emberjs/ember.js/builds/1...
We also have a Slack where you can ask a large group of us questions about it at any time, or just reach out to me using contact info in my profile.
And even that time was largely spent eliminating deprecations, which still worked.
Also checkout Ember twiddle [2] to play around first without installing a thing. You can add libraries and even other Ember adding through twiddle.json