- 
                Notifications
    
You must be signed in to change notification settings  - Fork 819
 
Project tech stack and architecture
        Pankaj Kumar Rawat edited this page Sep 10, 2018 
        ·
        1 revision
      
    We've built AngularSpree keeping scaling in mind leveraging the best technologies out there.
As of now, the application has 7 major modules, products, core, search, user, checkout, auth, shared.
We are working on documentation and we can share that once we are looking at a more stable release.
- Exclusively using @ngrx libraries(store, effects, actions), showcasing common patterns and best practices.
 - Fully Observable approach using RxJS 6.
 - Uses @ngrx/store to manage the state of the app and to cache requests made to the Backend API,
 - @angular/router to manage navigation between routes,
 - @ngrx/effects to isolate side effects.
 - @ngrx/actions to define the actions on the frontend.
 - Following Container/Presentation component approach.
 - Lazy loading of modules(for modules which are not immediately required for first painting the DOM).
 - ImmutableJs to create and safeguard objects againts mutability.
 - Project is divided into modules which are more or less independant of each other except core module.