Skip to content

Main Hub

The main hub is the top-level application shell. It provides the primary window, navigation between features, and global application orchestration.

Structure

main_hub/
    orchestration/              # MainController + MainView (app entry point)
    features/                   # Feature modules (each follows MVC pattern)
        home_system/            # Home dashboard with milestones, GitHub issues
        settings_system/        # Application settings
        software_system/        # Software selection hub (module launcher)
        update_system/          # Auto-update system
        user_guide_system/      # Integrated user guide
    ux_testing_environment/     # Developer testing tools (not shipped)

Key Components

  • MainController (orchestration/controller/main_controller.py) -- coordinates feature switching, login state, and module lifecycle
  • MainView (orchestration/view/main_view.py) -- primary QMainWindow with sidebar navigation and stacked content area

The main hub uses a sidebar with feature icons. Each feature system registers its view in the stacked widget. Module systems (like plant_design) are launched from the software_system hub and run in their own context.