angular-contacts-app-example
angular-contacts-app-example copied to clipboard
Full Stack Angular PWA example app with NgRx & NestJS
Full Stack Angular PWA app with NgRx Store, Effects (HTTP+WebSockets), Entity & NestJS
Backend is available here: https://github.com/avatsaev/angular-contacts-app-example-api
DEMO: https://angular-contacts-ngrx.surge.sh
This application uses @ngrx/store to manage application state, and @ngrx/effects to manange side effects (http+sockets), It also uses NgRx fractal state management to leverage lazy loading of reducers and effects.
@ngrx/entity is released and available on NPM, @ngrx/entity helps to reduce boilerplate and manipulate data in a fast and easy fashion, you can find @ngrx/entity implementation in Contacts Reducer.
NGRX infrastructure
Ngrx + Effects with an HTTP Service

Ngrx + Effects with Socket.IO

Lighthouse Audit:

Get started
You can run the app with docker compose:
$ docker-compose up --build
The app will be available at: http://localhost:4000



Development server
Start the backend server: https://github.com/avatsaev/angular-contacts-app-example-api
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.
Code scaffolding
Run ng generate component component-name to generate a new component. You can also use ng generate directive|pipe|service|class|module.
Build
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.
Running unit tests
Run ng test to execute the unit tests via Karma.
Running end-to-end tests
Run ng e2e to execute the end-to-end tests via Protractor.
Before running the tests make sure you are serving the app via ng serve.
Further help
To get more help on the Angular CLI use ng help or go check out the Angular CLI README.
