We all want to simplify state management. Be it a life or application or a screen, limiting mutable states that a component can be in, benefits everyone.
In this blog post, you will learn how to manage all the states of a screen using only one state variable.
Today we are going to write a simple TODO app, so simple that it will just have a TODO list but with 100% integration test coverage. As we are going to follow the TDD principle, we will write failing tests first and then actual code!

We will use Jetpack compose for views with MVVM architecture. For the sake of simplicity, we will not use HILT but it can be added anytime and that should not affect the things we are going to learn in this post.