Skip to content

GehaSoftwareHub

Desktop application for software management at Geha Anlagenbau GmbH.

Architecture Overview

GehaSoftwareHub/
|
|-- src/
|   |-- shared_services/       Core infrastructure
|   |   |-- logging/           Async logger with auto-caller detection
|   |   |-- path_management/   Cross-platform path resolution
|   |   |-- rendering/         Icons, stylesheets, document rendering
|   |   |-- prompt_dialogs/    Theme-aware dialogs
|   |   |-- security/          OAuth, encryption, organization sync
|   |   |-- settings/          Application settings (QSettings)
|   |   |-- file_operations/   Atomic, crash-safe file I/O
|   |   |-- cloud_com/         GitHub API communication
|   |   |-- state/             Observable runtime state
|   |   '-- utils/             Date/time formatting
|   |
|   |-- custom_widgets/        Reusable Qt widgets
|   |   |-- feedback/          Loading bars, progress indicators
|   |   |-- controls/          Toggle switches, navigation buttons
|   |   |-- dialogs/           User guide dialog
|   |   '-- widget_handlers/   Splitters, stacked views, caching
|   |
|   '-- main_hub/              Application shell
|       |-- orchestration/     Main window controller and view
|       '-- features/          Feature modules (home, settings, update, ...)
|
'-- modules/                   Domain modules (PlantDesign, ...)

Quick Start

Prerequisites

  • Python 3.13
  • PySide6

Building the Documentation

pip install mkdocs-material mkdocstrings[python] mkdocs-include-markdown-plugin
mkdocs serve

Open http://127.0.0.1:8000 in your browser.

Key Sections

Developer Guide

Coding standards, architecture patterns, testing strategy, and Git workflow.

API Reference

Module documentation and API reference for all shared services, custom widgets, and feature modules.

Tech Stack

Component Technology
Language Python 3.13
UI Framework PySide6 (Qt 6)
Packaging Nuitka
Cloud Cloudflare R2, GitHub API
Auth OAuth 2.0 (Auth0)