Example application utilizing @ngrx libraries, showcasing common patterns and best practices. Take a look at the live app.
This app is a book collection manager. The user can authenticate, use the Google Books API to search for books and add them to their collection. This application utilizes @ngrx/db to persist the collection across sessions; @ngrx/store to manage the state of the app and to cache requests made to the Google Books API; @angular/router to manage navigation between routes; @ngrx/effects to isolate side effects.
Built with @angular/cli
- @ngrx/store - RxJS powered state management for Angular apps, inspired by Redux
- @ngrx/effects - Side effect model for @ngrx/store
- @ngrx/router-store - Bindings to connect the Angular Router to @ngrx/store
- @ngrx/entity - Entity State adapter for managing record collections.
- @ngrx/store-devtools - Instrumentation for @ngrx/store enabling time-travel debugging
- @ngrx/db - RxJS powered IndexedDB for Angular apps
- @angular/router - Angular Router
- jest - JavaScript test runner with easy setup, isolated browser testing and snapshot testing
# Clone the repository
git clone https://github.com/ngrx/platform.git
# Go to the example directory
cd platform
# Install the dependencies
yarn
# Start the server
yarn run build && yarn run cli serve
# Or try
yarn run example:start
Navigate to http://localhost:4200/ in your browser. To login, the username and password is test
.
NOTE: The above setup instructions assume you have added local npm bin folders to your path. If this is not the case you will need to install the Angular CLI globally.
Try the example-app on StackBlitz.