2 |
3 |
4 |
5 |
8 | Angular Seed Plug and play Seed application built with ❤️ using Angular5, Redux/ngrx-store4, Observables & ImmutableJs. 9 |
10 | 11 |12 | Check demo | Docs 13 |
14 | 15 | ## [API Doc](https://documenter.getpostman.com/view/1691659/angular-seed/77mY1dq) 16 | 17 | ## What's included? 18 | Currently, this is a fairly basic vesion of the application. We are calling it a pre-alpha release. 19 | 20 | ### What's working and ready to be deployed? 21 | * Authentication (Login/Signup) 22 | * ngrx/store version 4 with lazy loaded feature added. 23 | * Auth Guard for route. 24 | * Toasty notification. 25 | * Bootstrap 4 beta 2. 26 | * Progress Bar for http requests. 27 | * Angular animation implemented for login form. 28 | 29 | ## Development server 30 | 31 | Run `yarn start` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. 32 | 33 | ## Code scaffolding 34 | 35 | Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. 36 | 37 | ## Build 38 | 39 | Run `yarn build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. 40 | 41 | ## Prod Build 42 | Run `yarn build:prod` to build the project. The build artifacts will be stored in the `dist/` directory. 43 | 44 | ## Running unit tests 45 | 46 | Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). 47 | 48 | ## Running end-to-end tests 49 | 50 | Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). 51 | 52 | ## Who are we? 53 | 54 | We are [Aviabird Technologies](https://aviabird.com). 55 | 56 | __We love to create awesome Web & Mobile products.__ 57 | 58 | __We are very proud of our work.__ 59 | 60 | We love technologies like Golang, Elixir, Scala, Ruby, Javascript, Typescript, Swift, Java. 61 | 62 | We love some frameworks too:- 63 | * Ruby On Rails 64 | * Phoenix/Elixir framework. 65 | * Spring framework. 66 | * AngularJs (1.x+ & 2.x+) 67 | * ReactJs 68 | * BackboneJs 69 | 70 | ### We are avialible for hire 71 | -------------------------------------------------------------------------------- /src/app/core/store/reducers/root.reducer.ts: -------------------------------------------------------------------------------- 1 | import { 2 | ActionReducerMap, 3 | createSelector, 4 | createFeatureSelector, 5 | ActionReducer, 6 | MetaReducer, 7 | } from '@ngrx/store'; 8 | import { environment } from '../../../../environments/environment'; 9 | import { RouterStateUrl } from '../../../shared/utils'; 10 | import * as fromRouter from '@ngrx/router-store'; 11 | 12 | /** 13 | * storeFreeze prevents state from being mutated. When mutation occurs, an 14 | * exception will be thrown. This is useful during development mode to 15 | * ensure that none of the reducers accidentally mutates the state. 16 | */ 17 | import { storeFreeze } from 'ngrx-store-freeze'; 18 | 19 | /** 20 | * Every reducer module's default export is the reducer function itself. In 21 | * addition, each module should export a type or interface that describes 22 | * the state of the reducer plus any selector functions. The `* as` 23 | * notation packages up all of the exports into a single object. 24 | */ 25 | 26 | import * as fromLayout from './layout.reducer'; 27 | 28 | /** 29 | * As mentioned, we treat each reducer like a table in a database. This means 30 | * our top level state interface is just a map of keys to inner state types. 31 | */ 32 | export interface State { 33 | layout: fromLayout.State; 34 | routerReducer: fromRouter.RouterReducerState