How I built a Hacker News client with Angular 2
In this technical retrospective (2016), @MrAwesomeSauce shares practical architectural lessons learned from running, scaling, or migrating production software under lean constraints.
HN engineers debated the tradeoffs between cloud convenience and raw server economics, database indexing strategies, and resisting premature architectural complexity.
Fails for me pretty early on:
ng set defaults.styleExt scss
Could not start watchman; falling back to NodeWatcher for file system events. Visit http://ember-cli.com/user-guide/#watchman ↗ for more info. Cannot read property 'serialize' of undefined TypeError: Cannot read property 'serialize' of undefined
I installed watchman and received the same error
Looks like this has been reported elsewhere: https://github.com/angular/angular-cli/issues/1905 ↗
There are some other issues for users trying to follow along. I hit my next snag from moment.js not being imported, and not having the filters domain, amFromUnix and amTimeAgo not being found. I see you addressed these points later on in your post notes, kind of as an "excercise left for the user". After that point, I just read the article and stopped trying to follow along. Perhaps it wasn't your intent to make a step-by-step type article, but I'm just sharing the experience I had trying to go along one step at a time. I appreciated the article, especially because right now we're starved for Angular 2 content, and there's not a lot out there yet.
Just a minor point, but your first stories.component.html snippet doesn't include {{i}}, so the way it renders in the browser is different than your screenshot
I built a Hacker News client with Angular 2 (https://angular2-hn.firebaseapp.com ↗) and shared it here a short while ago (https://news.ycombinator.com/item?id=12438119 ↗). Got some very useful feedback and thought it would be nice to write a post on how I built it. I go through building the entire app step by step from scratch solving each problem along the way.
As always, I hope you find it useful and would appreciate any feedback.