This project was generated with Angular CLI version 8.3.2. It's a sample Angular state management application using NGRX: @ngrx/store, @ngrx/effects, @ngrx/schematics, @ngrx/store, @ngrx/store-devtools.
Almost all files related with state was generated using: @ngrx/schematics.
Just run spm start
for a dev server. Navigate to http://localhost:4200/
.
As the Angular way, all the application files are in src/app
folder, with the following content (using the feature module pattern):
.
|____app-routing.module.ts
|____app.component.html
|____app.component.scss
|____app.component.spec.ts
|____app.component.ts
|____app.effects.spec.ts
|____app.effects.ts
|____app.module.ts
|____layouts
| |____navigation
| | |____navigation.component.ts
|____pages
| |____home
| | |____home-routing.module.ts
| | |____home.component.ts
| | |____home.module.ts
| |____product
| | |____components
| | | |____form
| | | | |____form.component.html
| | | | |____form.component.scss
| | | | |____form.component.spec.ts
| | | | |____form.component.ts
| | | |____nav
| | | | |____nav.component.ts
| | | |____toast-messages
| | | | |____toast-messages.component.ts
| | |____models
| | | |____product.ts
| | | |____productHttpRequest.ts
| | |____product-add
| | | |____product-add.component.ts
| | |____product-edit
| | | |____product-edit.component.ts
| | |____product-list
| | | |____product-list.component.ts
| | |____product-routing.module.ts
| | |____product.module.ts
| | |____services
| | | |____gallery-http.service.ts
| | | |____product-http.service.ts
| | |____store
| | | |____product.actions.ts
| | | |____product.effects.ts
| | | |____product.reducers.ts
| | | |____product.selectors.ts
| | | |____product.state.ts
|____reducers
| |____index.ts
- Using Observables and async pipe.
- All the actions are done first on state.
- Interface for HttpRequest and Product
- Sample Restful endpoit for Products
- Sample Restful endpoint for Image Gallery
- Sample image gallery to choose a product image
- Image loading placeholder to keep the UI consistent
Working example: here
Continuous Deployment using now.sh