Riverpods is an implementation of the observer pattern that allows you to create providers and notifiers to watch the state of data in an app.
# Why do we need it?
Riverpods is used so we can manage the state of views that are presented to the user. So if a user inputs data and the screen needs to change dynamically, a provider can do it.
# How do we use it?
In our project, you need to create a ManagerState, Manager, and a widget to act as a consumer.
## ManagerState
The manager state handles the state of what can be changed by the user. This state is used by the manager.
Since our state has boilerplate auto-generated by build runner, you need to run the `autogenerate.sh` file to rebuild the boiler plate if anything changes.