How to deploy an entire infrastructure with one call while using modules and splitted statfiles

Hi there,
I want to have a folder structure for my environments (dev / stage / prod) and for my assets (e.g. network, sql, …). Each asset will be created by calling a module. And I would like to have separate statefiles per module as recommended.
So far, so good.
As I am sure that I am not the only one with this scenario. Can anyone give me an advise how it is possible to deploy my entire environment with one call instead of changing folders and repeat init and apply for each module?
Is it possible without any wrapper like terragrunt?
Thanks in advance!