CasaFlow Software-Architektur

Software-Architektur im Detail

Die CasaFlow-Architektur ist modular aufgebaut und basiert auf dem klassischen LAMP-Stack (Linux, Apache/Nginx, MySQL/MariaDB, PHP), der mittels WordPress zur Verfügung gestellt wurde.

Die Architektur lässt sich in mehrere Schichten und Komponenten gliedern:

1. Server- und Infrastruktur-Ebene

  • Webserver: Apache, der HTTP-Anfragen verarbeitet
  • PHP: Die Skriptsprache, in der CasaFlow geschrieben ist
  • Datenbank: MySQL/MariaDB für Inhalte, Benutzer, Einstellungen, Metadaten
  • Dateisystem: Speichert Core-Dateien, Themes, Plugins, Medienuploads

2. CasaFlow Core

Der Kern von CasaFlow und das drunterliegende WordPress ist in PHP geschrieben und besteht aus mehreren Modulen:

  • Initialisierung (Bootstrap): Lädt Konfigurationsdateien, stellt Verbindung zur Datenbank her, lädt Plugins und Themes
  • Query-System: Generiert SQL-Abfragen, um Inhalte aus der Datenbank zu laden (Posts, Seiten, Kategorien, Objekte, Mieter, usw.)
  • Template-System: Kümmert sich um die Darstellung von Inhalten anhand des aktiven Themes
  • Hook-System (Actions & Filters): Kernmechanismus, über den Plugins und Themes Funktionalität einhängen oder verändern können
  • REST API: Bietet Schnittstellen für externe Anwendungen (z. B. Headless CMS oder mobile Apps)
  • Benutzer- und Rechtemanagement: Rollen, Fähigkeiten und Authentifizierung

3. CasaFlow Theme

  • Definieren die Darstellung (Layout, CSS, HTML, Templates)
  • Enthalten Template-Dateien
  • Können Hooks und eigene Funktionen nutzen

4. CasaFlow Plugins

  • Erweitern die Funktionalität ohne den WordPress Core zu verändern
  • Nutzen Hooks (Actions & Filters), um in den Ablauf von WordPress einzugreifen
  • Enthalten Features (z. B. Kontaktformular, Kalkulationsmodelle) oder komplexe Systeme (Betriebskostenabrechnung, Buchungsimport, Rechnungsverwaltung) bereitstellen

5. Datenbankstruktur

Die zentralen WordPress Tabellen werden um CasaFlow spezifische Tabellen und Views erweitert:

  • belege
  • staedte
  • zaehlerstaende
  • zahlungen

6. Anfragefluss (Request Lifecycle)

  1. Nutzer ruft URL im Browser auf
  2. Webserver leitet Anfrage an index.php im CasaFlow-Root.
  3. WordPress lädt Core, Plugins und CasaFlow Theme
  4. WP_Query bestimmt anhand der URL, welche Inhalte geladen werden sollen
  5. Das CasaFlow Theme-Template rendert die Inhalte
  6. Ausgabe als HTML an den Browser

7. Erweiterbarkeit

  • Hooks (Actions & Filters): Schnittstellen für Entwickler
  • Shortcodes: Platzhalter in Inhalten (Korrespondenz, E-Mails), die dynamisch ersetzt werden
  • Custom Post Types & Taxonomies: Eigene Inhaltstypen (Immobilien, Grundstücke, …) und Strukturen
  • REST API / XML-RPC: Externe Anbindungen an z.B. Google Kalender

Software-Architektur als 4-Schichten Modell

👉 Zusammengefasst

CasaFlow und WordPress sind modular (Core, Themes, Plugins), datenbankgetrieben (MySQL/MariaDB), basiert auf PHP und nutzen ein flexibles Hook-System, das es ermöglicht, die Kernlogik anzupassen, ohne den WordPress Core-Code zu ändern.