In iOS, we have a UITabBarController which stays permanently at the bottom of the screen when we push to a new ViewController.
In Flutter, we have a bottomNavigation
You can use Nested Routes of auto_route package, that's how I implemented it. Here is the link if anyone wants for reference auto_route
One other way you can implement this is by using get package.
Nested routes are not recommended as they can create the memory leak in some cases.