This is an example application written in Angular 6 with 85% of code coverage in unit tests. The app has 2 modules. UsersModule with list of users. UserModule with CRUD implementation. Full description of implemented artifacts can be found in Confluence.
The application consists of:
- Firebase noSQL database implementation with angularfire2/firestore module - see Confluence description page.
- Firebase authentication (OAuth implementation) with angularfire2/auth module - see Confluence description page.
- Storybook implementation - see Confluence description page.
- CRUD with Reactive Forms - see Confluence description page.
- Lazy Loading implementation - see Confluence description page.
- Performance adjustments - see Confluence description page.
- Lots of RXJS examples - see Confluence description page.
- Redux implementation with NGRX library - Auth State and User Edit State - see Confluence description page
- Material Design.
- Additionally tha application takes leverage of Domain Model design pattern for user and users creation.
This project was generated with Angular CLI version 6.0.7.
Run ng build --prod
to generate production version within dist/ directory.
Run ng serve
to run Webpack dev server.
Run npm run storybook
to fire Storybook.
Run ng test --code-coverage
to run Karma server and generate coverage directory.
Use steps described in Confluece Angular Performance page to serve optimized production version.