Jede technische Entscheidung wird an diesen Kriterien gemessen:
- Minimale Wartung — Weniger bewegliche Teile = weniger Fehler
- Geringe Kosten — Serverless und kostenlose Tiers wo moeglich
- Geringe Komplexitaet — Einfachste Loesung die funktioniert
| Feature | Beschreibung | Status |
|---|
| Statische Webseiten | Astro SSG, deployed auf Cloudflare Pages (kostenlos) | Entschieden |
| CMS | Selbst gebaut, zentral auf Hetzner, Cloudflare Tunnel | Entschieden |
| Domain-Management | Alle Domains zentral in Cloudflare | Entschieden |
| SSL | Automatisch ueber Cloudflare | Entschieden |
| CDN | Cloudflare CDN fuer Assets | Entschieden |
| Datenbank | PostgreSQL self-hosted auf Hetzner VPS (JSONB fuer flexible Inhalte, WAL-G fuer PITR) | Entschieden |
| Medien-Speicher | Cloudflare R2 bevorzugt | Recherche noetig |
| E-Mail-Versand | AWS SES (Frankfurt) — $0.10/1000 Mails, unbegrenzte Domains, DSGVO (EU) | Entschieden |
| Feature | Beschreibung |
|---|
| Platzhalter-System | Texte, Bilder, Dateien in vordefinierten Slots aendern |
| News/Blog | CRUD, chronologisch, optional pro Template |
| Impressum/Datenschutz | Generator/Assistent im CMS |
| Oeffnungszeiten | Editierbar |
| SEO-Basics | Meta-Title, Meta-Description pro Seite |
| Medien-Bibliothek | Zentral + pro Seite, Quotas (ab 10GB), Bildoptimierung via Astro |
| Mitarbeiterzugaenge | Mehrere Logins pro Kunde |
| Audit-Log + PITR | Wer hat wann was geaendert, Rollback moeglich |
| Vorschau | Preview vor Veroeffentlichung |
| Versionierung | Aenderungshistorie mit Rollback |
| Mobile-first | CMS muss auf dem Handy benutzbar sein |
| Mehrere Websites pro Kunde | z.B. Filialen |
| Feature | Beschreibung |
|---|
| Kontaktformular | Custom-Felder, Cloudflare Turnstile, Double-Opt-in |
| Nachrichten | Im CMS einsehbar + E-Mail an Kunden |
| Externe Embeds | YouTube/Instagram mit Opt-in-Wall (Cookie-basiert) |
| Self-hosted Fonts | Keine externen Requests |
| WhatsApp/Telefon-Button | Konfigurierbar im CMS |
| Mehrsprachigkeit | Falls technisch machbar mit vertretbarem Aufwand |
| Feature | Beschreibung |
|---|
| Multi-Site-Dashboard | Uebersicht aller Kundenprojekte |
| Build-Status/Logs | Cloudflare API Anbindung |
| Benachrichtigungen | Deploy-Status, Kontaktanfragen per E-Mail |
| Stripe-Integration | Automatische Rechnungsstellung |
| Ticket-System | E-Mail-basiert |
| Monitoring | Basis-Ueberwachung aller Kundenseiten |
| Feature | Beschreibung | Status |
|---|
| Preview pro Kunde | Aenderungen vor Go-Live pruefen | Challengen — Cloudflare Pages Preview Deployments? |
| Feature | Beschreibung | Status |
|---|
| Eigenes Analytics | Tracking Script → AWS API Gateway → SQS → CMS → PostgreSQL | Entschieden |
| DSGVO-konform | Keine Cookies, keine personenbezogenen Daten, kein Consent | Entschieden |
| Entkoppelt | Tracking-Uptime unabhaengig von CMS-Uptime (SQS puffert Events) | Entschieden |
| Dashboard | Seitenaufrufe, Top-Seiten, Geraete, Browser, Land — einfache SQL-Queries | Entschieden |
| Feature | Beschreibung |
|---|
| Listings | Sortierbar/filterbar auf statischen Seiten (Recherche noetig) |
| File-Sharing | Separates Feature, Details offen |
| Terminbuchung | Eigene Loesung oder Integration (Cal.com?) |
| Newsletter | Eigener Versand oder Integration |
| White-Label | CMS unter Kundenmarke |
| API-Gateway | AWS API Gateway + SQS fuer externe Integrationen |
- NFRs — Non-Functional Requirements
- Constraints — Technische und organisatorische Einschraenkungen