Public-Auth-Seiten in Landingpage-Stil integrieren

- gemeinsames Public-CSS fuer Landingpage und Auth-Seiten ergaenzen
- Login, Registrierung und Passwort-/E-Mail-Seiten vom App-Layout trennen
- App-Sidebar von Public-Login- und Registrierungslinks bereinigen
- Webspace- und Subdomain-Strategie dokumentieren
This commit is contained in:
2026-07-14 19:01:57 +02:00
parent 726c5a9508
commit 5824b066f4
10 changed files with 575 additions and 330 deletions
+31 -5
View File
@@ -83,9 +83,10 @@ Empfohlene Routen:
- `/`: Landingpage.
- `/preise` oder spaeter `/pricing`: optional, falls Tarife eingefuehrt werden.
- `/faq`: oeffentliche FAQ oder FAQ-Auszug.
- `/registrieren`: Kundenregistrierung.
- `/login`: Login.
- `/passwort-vergessen`: Passwort-Reset.
- `/registrieren` beziehungsweise aktuell `register.php`: Kundenregistrierung.
- `/login` beziehungsweise aktuell `login.php`: Login.
- `/passwort-vergessen` beziehungsweise aktuell `passwort-vergessen.php`:
Passwort-Reset.
Landingpage-Inhalte:
@@ -121,6 +122,25 @@ Die App sollte eine Sidebar behalten, aber besser gruppiert werden:
- Erfassung: Striche, Einzahlungen.
- Auswertung: Kaffeeliste, Buchungen, Export.
- Administration: Mitglieder, Hinweise, Einstellungen, Importe.
- Konto: Kundenkonto und Logout. Public-Links wie Login und Registrierung
gehoeren nicht in die App-Sidebar.
### Webspace- und Host-Strategie
Empfohlen fuer den Start:
- `kaffeeliste.de` oder `www.kaffeeliste.de` fuer Landingpage, Registrierung
und Login.
- `app.kaffeeliste.de` fuer die geschuetzte App.
- Keine Wildcard-Subdomains fuer Kunden.
- Mandantenauswahl nach Login ueber Session und `tenant_memberships`.
- Kundeneigene feste Domains oder Subdomains erst spaeter gezielt einrichten,
wenn DNS und Zertifikat pro Domain sauber geprueft sind.
Damit bleibt der Betrieb webspace-tauglich: Fuer den Start reichen zwei feste
Hosts mit normalen Let's-Encrypt-Zertifikaten. Die fachliche Tenant-Aufloesung
ist in M3 vorbereitet; produktive Host-Rewrites, Cookie-Domain und Zertifikats-
Details gehoeren zur M8-Betriebshaertung.
## Datenmodell
@@ -287,7 +307,7 @@ Uebersicht:
| M4 | Datenmigration | Gestartet: Ledger-Tabelle, Legacy-Backfill, Paritaetscheck und Ledger-Service sind umgesetzt |
| M5 | App-Kern | Dashboard, Striche, Einzahlungen, Mitglieder und Liste laufen |
| M6 | Betriebsflows | Import, Export, Mail und Jahresprozesse sind auditierbar |
| M7 | Landingpage | Erste werbliche Seite ist oeffentlich nutzbar; spaetere Ausbaustufen folgen |
| M7 | Landingpage | Public-Seite und Auth-Seiten sind im gemeinsamen Stil nutzbar; spaetere Ausbaustufen folgen |
| M8 | Haertung | Betrieb, Datenschutz, Monitoring und Isolation sind geprueft |
| M9 | Cutover | Produktivumstellung ist vorbereitet und Legacy ist read-only |
@@ -427,6 +447,9 @@ Schritte:
- Rollenpruefung zentralisieren: erster Owner/Admin-Check erledigt.
- Erste Admin-/Owner-Seite fuer Grundeinstellungen: erledigt.
- Erste Public-Landingpage mit CTA zu Login und Registrierung: erledigt.
- Login, Registrierung, Passwort-Reset und E-Mail-Verifikation im Public-Stil:
erledigt.
- App-Sidebar ohne Public-Login-/Registrierungslinks: erledigt.
Ergebnis:
@@ -529,10 +552,13 @@ zu verwischen.
Schritte:
- Public-Layout mit bestehender Typografie und gruenem Akzent bauen. Erster
Stand als `landing.php` erledigt.
Stand als `landing.php` und `assets/css/public.css` erledigt.
- Landingpage-Inhalte erstellen. Erster Stand erledigt.
- Demo-Screenshot oder Demo-Ansicht einbinden.
- CTA zu Registrierung und Login. Erledigt.
- Login, Registrierung und Passwort-Reset in den Public-Stil integrieren.
Erledigt.
- App-Sidebar von Public-Links trennen. Erledigt.
- FAQ-Auszug strukturieren.
- Keine App-Sidebar im Public-Bereich.