As both the Management and Alerts UI grow in size, managing application state continues to become more and more complex. To help us deal with managing all of this state and ensuring our application derives state from a single source of truth, I suggest we start using NgRx, a state management library based on the Redux pattern but built for Angular. It is by far the most popular library of this type for Angular. As you can see in the project's GitHub Insights tab <https://github.com/ngrx/platform/pulse>, it's quite actively worked on and releases are pretty frequent. The project is licensed under MIT.
As far as an approach to integration, I don't think we necessarily need a big refactoring right off the bat. I feel something like this can be done in a piecemeal approach over time. I think we can start by introducing it into the project the next time we have a new application feature. What are everyone's thoughts around this? Cheers, Shane