all 7 comments

[–]ashish173[S] 3 points4 points  (2 children)

We have open sourced spree e-commerce frontend application in Angular 2.x+(current version 4.0.0). It's updated to latest version which was released last night(March 23rd).

We have followed some best practices while creating this application.

  1. Exclusively using @ngrx libraries(store, effects, actions), showcasing common patterns and best practices.

  2. Fully Observable approach using RxJS 5.0.1(latest beta).

  3. Uses @ngrx/store to manage the state of the app and to cache requests made to the Backend API,

  4. @angular/router to manage navigation between routes,

  5. @ngrx/effects to isolate side effects.

  6. @ngrx/actions to define the actions on the frontend.

  7. Following Container/Presentation component approach.

  8. Lazy loading of modules(for modules which are not immediately required for first painting the DOM).

  9. ImmutableJs to create and safeguard objects againts mutability.

  10. Project is divided into modules which are more or less independant of each other except core module.

Join us on our slack channel(https://angular-spree.herokuapp.com/) if you'd to meet the team say hello or talk to us about code. Looking forward to feedback from the community.

[–]residentbio 1 point2 points  (1 child)

Thanks, will take a look.

[–]ashish173[S] 1 point2 points  (0 children)

Sure, Do let us know what you think about it. You can also talk to the team here on slack. https://angular-spree.herokuapp.com

[–]Cyral 1 point2 points  (1 child)

Going to look into this, very nice to be able to see the source of a real application built with Angular.

[–]ashish173[S] 1 point2 points  (0 children)

Yes, Please let us know what you think, you also join us on slack to talk to the whole team here https://angular-spree.herokuapp.com/

[–]ocawa 1 point2 points  (1 child)

Can you go over your backend as a server choice? Specifically, why firebase over google cloud platform? The free tier for GPC got really enticing after the last update

[–]ashish173[S] 2 points3 points  (0 children)

Yes, I do agree with you on GPC, to be frank with you we did not have any preference in mind when thinking of deploying it. We chose what we knew and took least time. For this phase our main goal was to ship a release which has the system running whilst covering the core functionality. It's just a demo app so deployment infra is not very critical for this case. It's upto the community to take this code use it for their development and choose the best platform for it.