We may earn an affiliate commission when you visit our partners.
Course image
Angular University

This course is a complete guide to the new NgRx Ecosystem, including NgRx Data, Store, Effects, Router Store, NgRx Entity, and DevTools, and comes with a running Github repo

This Course in a Nutshell

State management is the number one topic to know when it comes to frontend architecture design choices. Why choose to do state management in a single page application, when to do it and why, what are the benefits, and what are tradeoffs?

These are all critical questions that we will address in this course, as we give you an extended guided tour of the NgRx Ecosystem.

Read more

This course is a complete guide to the new NgRx Ecosystem, including NgRx Data, Store, Effects, Router Store, NgRx Entity, and DevTools, and comes with a running Github repo

This Course in a Nutshell

State management is the number one topic to know when it comes to frontend architecture design choices. Why choose to do state management in a single page application, when to do it and why, what are the benefits, and what are tradeoffs?

These are all critical questions that we will address in this course, as we give you an extended guided tour of the NgRx Ecosystem.

The most popular state management library in the Angular space is NgRx, and for good reasons. The latest release of NgRx is probably one of the most important releases in the whole Angular ecosystem recently. Although backward compatible, it contains so much new functionality that it's almost a brand new state management library.

Under the hood, the core concepts of Actions, Reducers, Effects, Entities, and Selectors remain the same, but we have now a brand new API for managing these concepts in a much less verbose way. Also, we have the inclusion of NgRx Data, which is a new and very powerful way of managing Entity Data.

Actually, NgRx Data is a powerful abstraction layer on top of NgRx, that allows us to add state management to large parts of our application without having to write much code at all.

Course Overview

In this course, we are going to take a small existing application that is built without any state management. We are going to understand what are the consequences of not doing state management by identifying some problems that the application has in its initial form.

Then we are going to start refactoring the application, and we are going to add state management to the application multiple screens step-by-step. We are going to start with the Authentication features of the application, and then we are going to move on to the entity data management part.

We are going to explain at length all the key concepts of NgRx: Actions, Reducers, Effects, and Selectors, and we are going to explain in detail the Store architecture itself and understand its benefits.

Throughout the course we are going to introduce step-by-step and explain in detail the NgRx Store module, NgRx Effects, we are going to cover in detail NgRx Entity and the Entity format, we are going to install and do a guided tour of the NgRx Dev Tools, the NgRx Router Store, and the time-travelling debugger.

We are also going to learn how to make the most out of NgRx Data, and learn how to customize it in order to manage entity data with minimal application code. We will cover NgRx while keeping in mind best practices like good Action hygiene.

Table of Contents

This course covers the following topics:

  • Introduction to State Management

  • The Store Architecture In Detail

  • NgRx Key Concepts

  • Actions and Action Creators

  • Reducers

  • NgRx Effects

  • Selectors

  • Adding Authentication to an NgRx Application

  • NgRx Entity and the Entity Format

  • NgRx DevTools

  • NgRx Time Travelling Debugger

  • NgRx Runtime checks and Store Immutability

  • NgRx Router Store

  • NgRx Data and Entity State Management

  • NgRx Best Practices

What Will You Learn In this Course?

At the end of this course, you will feel comfortable with the notions of state management and the centralized store solution in general

You will feel comfortable designing new Applications using NgRx, using a simple methodology and you will know in-depth the complete Ngrx library ecosystem: including the Ngrx Store, Effects, Entity, and NgRx Data libraries

You will know how to quickly scaffold parts of the solution using Ngrx Schematics, and how to set up the Ngrx DevTools from scratch, including the router integration

Enroll now

What's inside

Learning objectives

  • Code in github repository with downloadable zip files per section
  • Become familiar with the centralized store pattern, and how to use it in angular
  • Know when to use a centralized store solution and why
  • Learn how to use ngrx data to handle entity data with minimal code
  • Learn in-depth ngrx store, understand in detail all core store patterns, including reducers and actions
  • Learn in detail ngrx effects, learn when to use a side-effect
  • Learn in detail ngrx entity, when to use and why, learn what are the benefits
  • Transform step-by-step an existing angular plain application, and turn it into a store based application
  • Learn to implement common functionality in ngrx, such as authentication or entity pagination
  • Learn ngrx in-depth in a fun and practical way, by implementing real use cases

Syllabus

Introduction
NgRx (with NgRx Data) - Helicopter View
IMPORTANT - Recommended Software Versions
NgRx The Complete Guide - Development Environment Setup
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Covers NgRx Data, Store, Effects, Router Store, NgRx Entity, and DevTools, which are essential for modern Angular application state management
Explores the Store architecture in detail, which is a core concept for building scalable and maintainable Angular applications
Teaches NgRx using a step-by-step approach, refactoring an existing application to incorporate state management, which mirrors real-world development scenarios
Focuses on Angular 19, so learners should be aware that the code examples may not be compatible with older versions of Angular
Requires familiarity with TypeScript, as indicated by the inclusion of a Typescript Jumpstart Ebook, which may pose a challenge for those new to the language
Includes a bonus lecture updated in February 2025, which suggests the course is actively maintained and kept up-to-date with the latest NgRx features

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Complete ngrx and ngrx data guide

According to learners, this course provides a comprehensive and up-to-date guide covering the entire NgRx ecosystem, including Store, Effects, Entity, and specifically highlighting NgRx Data as a key strength. Many students praised the instructor's ability to explain complex concepts clearly, making the material accessible. The course structure, moving from basic principles to more advanced topics like NgRx Data, is considered well-organized and logical. Learners appreciate the practical, hands-on approach with code examples and the transformation of an existing application. While the nature of NgRx itself presents a steep learning curve, the course is widely seen as an excellent resource for mastering it.
Logical progression through NgRx topics.
"The course is very well structured, starting simple and building up complexity gradually."
"Liked the order in which the topics were presented, it flowed nicely."
"The syllabus covers all necessary components in a logical sequence."
Course content is current with recent Angular/NgRx.
"Glad to see the course covers NgRx with Angular 19, keeping it relevant."
"The recent updates ensure the material aligns with the latest versions and best practices."
"Current content is crucial for a fast-moving library like NgRx, and this course delivers."
Uses a real application for step-by-step learning.
"Building up the application piece by piece with NgRx was a great way to learn."
"The practical examples and refactoring process really helped solidify my understanding."
"Hands-on coding exercises and demos are very beneficial for learning NgRx."
Detailed explanation of NgRx Data and its usage.
"The section on NgRx Data was particularly helpful and clarified how to manage entity data efficiently."
"Learning NgRx Data was a game changer, and the course explains it very effectively."
"I appreciated the in-depth look at using NgRx Data to reduce boilerplate."
Instructor explains complex ideas simply.
"The instructor is fantastic at breaking down difficult concepts into understandable pieces."
"Explanations were crystal clear, making NgRx finally click for me."
"I found the way the instructor explained the core principles and patterns to be exceptionally clear."
Covers all key parts of the NgRx ecosystem.
"This course covers everything from the basics of Actions, Reducers, and Effects all the way through NgRx Data and Entity."
"I feel I now have a solid understanding of the full NgRx suite after completing this guide."
"Excellent overview of the entire NgRx landscape needed for modern Angular development."
NgRx itself is inherently complex to learn.
"NgRx is definitely challenging, and while the course helps, expect a steep learning curve."
"The complexity of state management patterns with NgRx requires significant effort."
"Even with excellent explanations, mastering NgRx takes time and practice outside the course."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in NgRx (with NgRx Data) - The Complete Guide (Angular 19) with these activities:
Review RxJS Observables
Reviewing RxJS Observables will help you better understand the asynchronous data streams that NgRx uses extensively.
Browse courses on Observables
Show steps
  • Read the official RxJS documentation on Observables.
  • Practice creating and subscribing to Observables.
  • Experiment with different RxJS operators.
Read 'Enterprise Angular Monorepo Patterns'
Reading this book will provide a broader understanding of application architecture, which is essential for effective NgRx implementation.
View Alter Ego: A Novel on Amazon
Show steps
  • Read the book cover to cover.
  • Take notes on key concepts and patterns.
  • Relate the concepts to your current Angular projects.
Build a Simple CRUD Application with NgRx Data
Building a CRUD application will solidify your understanding of NgRx Data and how it simplifies entity state management.
Show steps
  • Set up a new Angular project with NgRx and NgRx Data.
  • Define the entity and its corresponding data service.
  • Implement the CRUD operations using NgRx Data.
  • Create a UI to interact with the data.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Read 'Angular Development with NgRx'
Reading this book will provide a solid foundation in NgRx and help you build more robust and maintainable Angular applications.
View Alter Ego: A Novel on Amazon
Show steps
  • Read the book cover to cover.
  • Work through the examples in the book.
  • Experiment with different NgRx patterns and techniques.
Write a Blog Post on NgRx Best Practices
Writing a blog post will force you to synthesize your knowledge of NgRx best practices and communicate them effectively.
Show steps
  • Research NgRx best practices from various sources.
  • Outline the key points you want to cover.
  • Write the blog post with clear examples and explanations.
  • Edit and proofread your post before publishing.
Contribute to an Open Source NgRx Project
Contributing to open source will expose you to real-world NgRx implementations and help you learn from experienced developers.
Show steps
  • Find an open-source Angular project that uses NgRx.
  • Identify an issue or feature you can contribute to.
  • Fork the repository and create a new branch.
  • Implement the changes and submit a pull request.
Help others on Stack Overflow
Helping others will reinforce your understanding of NgRx and expose you to different problem-solving approaches.
Show steps
  • Search for NgRx-related questions on Stack Overflow.
  • Provide clear and concise answers to the questions.
  • Explain your reasoning and provide code examples.

Career center

Learners who complete NgRx (with NgRx Data) - The Complete Guide (Angular 19) will develop knowledge and skills that may be useful to these careers:
Angular Developer
An Angular Developer designs, develops, and maintains Angular-based web applications. This typically involves creating user interfaces, implementing application logic, and integrating with backend services. This course helps developers build a solid understanding of state management using NgRx, which is crucial for developing complex and maintainable Angular applications. Particularly, the course covers NgRx Data, which provides a powerful abstraction for managing entity data, reducing boilerplate code. This skill is highly valuable for any Angular Developer.
Frontend Architect
A Frontend Architect is responsible for designing the overall structure and architecture of frontend applications. This role ensures that the application is scalable, maintainable, and performs well. The course is particularly relevant because it covers state management in detail, one of the most critical aspects of frontend architecture. The course goes over the Ngrx Ecosystem, giving an extended tour. A Frontend Architect can use the knowledge of NgRx, NgRx Data, and related tools to make informed decisions about state management strategies and choose the right tools for the job.
Web Application Developer
A Web Application Developer specializes in building applications that run on the web. This course helps in the development of sophisticated, stateful web applications using Angular and NgRx. Because the course addresses complex state management and the centralized store solution, this is critical for modern web application development. Web Application Developers can leverage this knowledge to build scalable and maintainable applications, understanding key concepts like Actions, Reducers, and Effects, and applying best practices for Action hygiene.
Software Engineer
A Software Engineer is involved in the entire software development lifecycle, from requirements gathering to deployment and maintenance. This course provides the engineer with valuable skills in state management within Angular applications. Knowing NgRx and NgRx Data, as taught in this course, allows the engineer to write more efficient and maintainable code, especially when dealing with complex application states. The course's step-by-step approach to refactoring an existing application to use NgRx is particularly beneficial for real-world scenarios.
Application Developer
An Application Developer builds and maintains software applications, often with a focus on a specific platform or technology. This course can improve their ability to build robust Angular applications. The course will help the application developer to understand the benefits of state management and how to implement it using NgRx. The exploration of NgRx Data enables quicker, more efficient data management, while keeping in mind best practices.
Full-Stack Developer
A Full Stack Developer works on both the frontend and backend of a web application. This course is relevant to the frontend portion. Mastering NgRx and NgRx Data, as taught in this course, allows the developer to build robust and maintainable user interfaces. This course will provide the developer with the skills to handle complex state management scenarios with ease and efficiency.
UI Developer
A UI Developer is responsible for implementing the user interface of a web application, ensuring it is visually appealing and user-friendly. This course helps build a strong understanding of state management with tools like NgRx. Managing the UI state effectively becomes essential in user-rich, interactive applications. The course's coverage of NgRx Entity and NgRx Data is particularly relevant, as it helps manage and display large datasets efficiently, contributing to a smoother user experience.
Technical Trainer
A Technical Trainer educates others on software development technologies and best practices. This course equips the trainer with in-depth knowledge of NgRx, enabling them to teach state management concepts in Angular effectively. The course's step-by-step approach and real-world examples make it easier for the trainer to explain complex topics and provide practical guidance.
Technical Lead
A Technical Lead guides a team of developers, making key technical decisions and ensuring code quality. This course may be useful in providing a comprehensive understanding of NgRx. This will help the Technical Lead make informed decisions about state management strategies within their Angular projects. By understanding the intricacies of NgRx, NgRx Data, and related tools, the Technical Lead can guide the team toward building more maintainable and scalable applications.
Solutions Architect
A Solutions Architect designs and oversees the implementation of complex software systems. This course may be useful in providing insights into state management strategies within Angular applications. Understanding how NgRx and NgRx Data can be used to manage application state efficiently enables the architect to design more robust and scalable solutions. The course's focus on best practices and real-world use cases is valuable for making informed architectural decisions.
Software Consultant
A Software Consultant advises clients on technology solutions and best practices. This course helps the consultant to provide expert guidance on Angular state management strategies. Understanding NgRx, NgRx Data, and related tools enables the consultant to recommend effective solutions for building scalable and maintainable Angular applications. The course's coverage of real-world use cases and best practices is especially valuable for providing practical advice.
Software Development Manager
A Software Development Manager oversees the development process, ensuring projects are delivered on time and within budget. This course may be useful in providing insights into the technical aspects of Angular development, specifically state management using NgRx. This will help to manage teams more effectively, understanding the challenges and complexities involved in building large-scale Angular applications. Knowing NgRx and NgRx Data provides a better understanding of architectural choices and tradeoffs.
Quality Assurance Engineer
A Quality Assurance Engineer ensures the quality of software through testing and validation. This course may be useful in understanding the state management architecture of Angular applications built with NgRx. With this knowledge, a Quality Assurance Engineer can design more effective test cases to catch state-related bugs. The ability to use NgRx DevTools, as covered in the course, is particularly helpful for debugging and validating application state.
DevOps Engineer
A DevOps Engineer is responsible for automating and streamlining the software development lifecycle. This course may be useful in providing a better understanding of the application architecture, especially state management. As applications become more complex, understanding the intricacies of state management helps to optimize deployment and monitoring strategies. The course's overview of NgRx best practices and runtime checks is relevant to ensuring application stability and reliability.
Enterprise Architect
An Enterprise Architect is responsible for aligning IT strategy with business goals. This course may be useful in providing a deeper understanding of frontend architecture, specifically state management in Angular. This enables the architect to make informed decisions about technology choices and ensure that applications are built in a scalable and maintainable way. The course's focus on NgRx best practices and real-world use cases is valuable for aligning technical decisions with business requirements.

Reading list

We've selected 43 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in NgRx (with NgRx Data) - The Complete Guide (Angular 19).
Is essential reading for any leader who wants to turn their plans into reality.
A comprehensive textbook on functional programming using Haskell, including reducers and other functional programming concepts.
Is directly focused on the crucial skill of locating web elements for test automation using XPath and CSS selectors. It is highly relevant for anyone involved in UI automation and needing to deepen their understanding of selector strategies beyond the basics.
A comprehensive textbook on programming, including reducers and other functional programming concepts.
Provides a comprehensive and deep dive into all aspects of CSS, with significant coverage of selectors, specificity, and the cascade. It's an essential reference for anyone looking to master CSS and understand how selectors function at a fundamental level. This latest edition is highly relevant for professionals and advanced students.
Authored by a W3C Invited Expert, this book delves into creative and often unconventional CSS techniques and solutions. Many of the 'secrets' involve advanced and insightful uses of selectors and CSS properties, making it highly relevant for those looking to deepen their understanding and explore contemporary CSS possibilities.
Provides a thorough exploration of intermediate to advanced CSS concepts. It includes detailed explanations of how selectors, the cascade, and specificity interact, which is crucial for writing robust and maintainable CSS. It's a valuable resource for students and professionals moving beyond the basics.
Focused on using Selenium WebDriver with Python, this book teaches how to automate browser interactions. A significant part of this involves identifying elements using various locators, including CSS selectors and XPath, making it relevant for the automation context.
Is for those new to digital effects and offers information on effects such as CGI, morphing, and chroma key compositing.
Appears to be specifically focused on CSS and HTML5 selectors, offering an in-depth look at their capabilities and usage. It would be highly relevant for those wanting to specialize in selector techniques.
Focuses on practical CSS techniques for creating modern web layouts. It demonstrates how to leverage selectors effectively to implement complex designs and overcome common layout challenges.
Offers a broad introduction to web design, covering HTML, CSS, and JavaScript. It includes clear explanations of CSS selectors and how to use them for styling and layout. It's a valuable resource for students and those new to web development seeking a comprehensive overview.
A practical guide to using Haskell in real-world applications, including reducers and other functional programming concepts.
Practical guide to building enterprise-grade Angular applications. It covers everything from architecture and design patterns to performance optimization and testing. As an expert in Angular, Adam Freeman provides valuable insights that can help you create robust and scalable applications.
Based on the author's extensive experience, this book offers practical advice and real-world examples for writing and organizing CSS. It provides insights into effective selector usage within a larger CSS architecture.
Focuses on building websites that adapt to various devices, a core aspect of modern web development. It demonstrates how selectors, particularly in conjunction with media queries, are fundamental to creating responsive layouts and styling.
Offers a practical approach to learning NgRx, with hands-on examples and exercises to help readers understand the concepts and best practices of state management.
An introduction to functional programming using Scala, covering reducers and other functional programming concepts.
Using the engaging Head First approach, this book makes learning HTML and CSS fun and accessible for beginners. It covers core concepts, including how selectors work, through puzzles, visuals, and exercises, helping to solidify understanding in a memorable way.
A concise and handy reference for CSS syntax and properties, including selectors. While not a tutorial, it's an invaluable tool for quickly looking up selector syntax and usage details, useful for both students and experienced developers as a quick reference.
Provides a comprehensive guide to modern HTML and CSS, including the effective use of selectors for creating contemporary web designs and layouts. It is suitable for beginners and those looking to update their skills.
Another comprehensive introductory book covering the core web technologies. It includes structured lessons on using CSS selectors to control the presentation of HTML elements.
Provides a practical guide to building Angular applications, covering topics like component development, routing, and data management. Antonio Goncalves, an experienced Angular developer, provides step-by-step instructions and real-world examples to help you build robust and scalable Angular applications.
While slightly older, this edition provides a good overview of features introduced in CSS3, including new selectors and pseudo-classes that expanded the capabilities of CSS. It is useful for understanding the evolution of selectors and foundational CSS3 concepts.
A practical introduction to mathematics for programmers, including reducers and other functional programming concepts.
Introduces MobX as a state management library for JavaScript applications. It covers topics such as MobX architecture, observables, computed values, and actions.
Introduces programming with Python for automating tasks, including web scraping. It includes practical examples of using selectors (CSS and potentially XPath via libraries) to identify and extract data from web pages, making it relevant for the 'UI Automation' aspect of the topic.
Includes a chapter on state management in Vue.js applications. It covers topics such as Vuex, Vuex modules, and Vuex actions.
Testing is an essential part of software development, and it is especially important for Angular applications. provides a collection of practical recipes and techniques to help you test your Angular applications effectively. Felipe Coury, an experienced Angular developer, shares his expertise on how to write unit tests, integration tests, and end-to-end tests for your Angular applications.
Explores the idea of marginal gains and provides strategies for achieving success.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to NgRx (with NgRx Data) - The Complete Guide (Angular 19).
Redux in JavaScript and React
Most relevant
Building Reusable React
Most relevant
Fundamentals Of NgRx
Most relevant
Angular Fundamentals: Building Responsive Web Apps with...
Most relevant
NgRx Signal store 19 for Angular - The missing guide
Most relevant
Angular - The Complete Guide (2024 Edition)
Most relevant
Angular Signals - Building Quiz Angular Project
Most relevant
Complete Angular Course 2024 - Master Angular in only 6...
Most relevant
Vue JS 2: From Beginner to Professional (includes Vuex)
Most relevant

Udemy Buyer Protection & Guarantee

Verified partner policies & purchase protections

Global Marketplace Leader
Free Trial & Audit

Free Lecture Previews

Free preview video lectures available for all courses; optional 7-day free trial on Personal Plan subscriptions (cancel before trial ends to avoid conversion).

Return & Refund Policy

30-Day Money-Back Guarantee

30-day money-back guarantee on all eligible individual course purchases (provided course content has not been substantially consumed or downloaded). Subscription fees are non-refundable once billed.

Buyer Protections

Verified Academic & Industry Partner

Lifetime access to purchased individual courses and future updates, verifiable certificate of completion, and direct student Q&A forums.

Key Purchase Protections
30-day 100% money-back guarantee on course purchases
Lifetime access on web, mobile, and offline
Certificate of completion included with purchase
Direct instructor Q&A and active student community
OpenCourser Verified Partner Policy details last reviewed: 2026-10-22
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser