2. Architektur und Domänen¶
2.1. Backend-Struktur¶
Das Projekt folgt im Kern einer Laravel-Struktur, nutzt aber mehrere projektweite Konventionen:
- Modelle liegen domänenorientiert unter
app/Models/ - Web- und API-Controller sind getrennt
- Geschäftslogik wandert häufig in
app/Actions/ - Modelle registrieren ihre Routen selbst über
registerRoutes()undregisterApiRoutes()
2.2. Zentrale Domänen¶
- Gottesdienste und Veranstaltungen:
Service, Kalender, Mitwirkende, Werbung, Berichte - Kasualien: Taufen, Trauungen, Beerdigungen
- Benutzer und Rechte: Personen, Rollen, Gemeindezuordnungen
- Orte und Gemeinden: Kirchengemeinden, Pfarrämter, Veranstaltungsorte, Sitzpläne
- Urlaub und Vertretung: Abwesenheiten, Pools, Poolmaster
- Liturgie: Bausteine, Lieder, Psalmen, liturgische Texte
2.3. Routing-Modell¶
- Web-Routen werden zentral geladen und um zusätzliche Teilrouten ergänzt.
- API-Routen liegen unter
routes/api/*.php. - Modelle können eigene Web- und API-Routen registrieren.
2.4. Frontend-Modell¶
Das Frontend nutzt Inertia. Viele Seiten werden also serverseitig als Inertia-Responses erzeugt, während Vue die eigentliche Interaktion im Browser übernimmt.
Der Help-Button in der Topbar wird serverseitig mit einer Manual-Zuordnung versorgt und kann dadurch jetzt zwischen Benutzer- und Administratorhandbuch unterscheiden.
2.5. Dokumentenerzeugung¶
Pfarrplaner erzeugt nicht nur HTML, sondern viele Ausgabeformate:
- Word
- Excel
- HTML-Snippets
- Browser-basierte Renderings
Darum gehören Office-Bibliotheken, PDF-Rendering und Chromium-Laufzeit fest zur technischen Gesamtarchitektur.