NgRx is a group of libraries for building reactive applications in Angular. Store and Effects are the most popular ones and they are used for global state management. They provide an explicit architecture and predictable data flow making Angular projects easier to maintain and upgrade. However, there are many ways to implement the same feature with NgRx. Some of the ways have emerged over time as best practices and they will be the main topic of this session. You will learn how to improve code quality, developer experience, performance, and maintainability in Angular applications that use NgRx as a global state management solution.