
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)
- Nutzer ruft URL im Browser auf
- Webserver leitet Anfrage an index.php im CasaFlow-Root.
- WordPress lädt Core, Plugins und CasaFlow Theme
- WP_Query bestimmt anhand der URL, welche Inhalte geladen werden sollen
- Das CasaFlow Theme-Template rendert die Inhalte
- 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.