Recommended project structure (MVC pattern)?

I’ve created a dashboard application consisting of several parts.

  • An explicit Flask server (providing caching for non-persistent MVC model),
  • a RESTful API providing backend related business logic (backend related MVC controller),
  • the Dash app providing the layout (MVC view),
  • the Dash callbacks providing frontend related business logic (frontend related MVC controller).

The docs is using the simple scenario of having a simple file app.py containing everything. I want to inject an application configuration during application startup which shall effect e.g. the Flask url and port, the Dash layout and other parts like the Dash callback functionality as well. This means I want to provide the configuration as “state” instead of via command line arguments.

What’s the best project and code structure w.r.t. MVC pattern? I would be happy about guidance about the project structure like provided by e.g. flasky for Flask based applications.

The hints about structuring a dash app so far are: