This project was generated with Angular CLI version 8.3.19.
Run npm install
Run npm start the web app will be available at http://localhost:4200
NOTE: you will need the API to be up and running. Instructions to up this can be found in the README file in /dev folder.
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.
Run ng build to build the project. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.
Run ng test to execute the unit tests via Karma.
Run ng e2e to execute the end-to-end tests via Protractor.
To get more help on the Angular CLI use ng help or go check out the Angular CLI README.
#Project structure and architecture
###Folder structure
styles: folder with scss common styles
core folder with Global framework-based services
data global models, enums, classes, interfaces (user model, permissions, roles ect. NO Dto's data inside!!!!). Don't based on specific framework/plugin
feature/containers Feature specific smart/container components. Communicates with store through facade. Styles less.
feature/components Feature specific dump/presentational components. Communicates with containers through Input/Output. Logic less.
pages/ Page specific router modules (home, 404, login ect.) with component which are responsible for page layout and composition of features
store Store folder. index.ts contains union store and reducers
store/featureName Store for one feature.
store/featureName/module Feature store encapsulated into feature module and declared StoreModule.forFeature('Feature', FeatureReducer)
store/featureName/actions Store actions. Can be handled by effect and/or reducer. Can be called in facade.
store/featureName/effects Actions handler which needs to produce some side effect(API call, etc.) and then call facade method if needed.
store/featureName/selectors Selectors for feature state
store/featureName/reducers Actions handler which directly changes store data. Pure function.
store/featureName/feature-entitys.service.ts service for access for entities https://ngrx.io/guide/data/entity-services