Webdesign-Bereich: Fundament, oeffentliche Seiten, Zugangsschutz, PayPal
Umsetzung des "Website Masterplan" (16 Seiten) unter /webdesign. Zugangsschutz mit EIGENER Schranke (server/webdesign-gate.js) statt gate.js: gate.js laesst seit dem oeffentlichen Start am 21.08.2026 jeden durch, weil die Pruefung auf SITE_PUBLIC_LAUNCH_AT als allererste Zeile steht. Haette man /webdesign dahintergehaengt, waere der ausdruecklich nicht-oeffentliche Bereich inklusive Preisen und spaeteren Kundendaten ab der ersten Sekunde fuer jeden lesbar gewesen. Eigenes Sitzungs-Cookie, bereich="webdesign" im Token, damit ein gueltiges Universe-Cookie hier NICHT gilt. 37/37 Tests. Sieben oeffentliche Seiten in fuenf Sprachen (de, de-CH mit echtem Dialekt, en, fr, pt). Preise, Zeitrahmen, Paketnamen und die 30-%-Regel stehen an genau EINER Stelle in wd-core.js -- der Masterplan verlangt "ueberall widerspruchsfrei", und vier Kopien laufen bei der ersten Preisaenderung auseinander. Als App installierbar auf Handy und PC. Der Service Worker speichert bewusst KEINE HTML-Seite zwischen: nach dem Abmelden wuerden sonst geschuetzte Seiten weiter ausgeliefert, ohne dass der Server je gefragt wird. 18/18 Tests. Handy-Abnahme ueber alle Seiten in fuenf Breiten (320-1440) und fuenf Sprachen: 40/40. Der Test fand 35 echte Fehler (Touch-Ziele unter 44px), behoben im Designsystem statt einzeln pro Seite. PayPal (Wunsch 22.08.2026 "sofort auf meinem paypal"): Orders API mit intent=CAPTURE, also sofortiger Einzug statt blosser Reservierung. Gebuehr und Nettobetrag getrennt gespeichert. Betraege durchgehend als Ganzzahl in Cent. Gefaelschte Webhooks werden abgewiesen. Fail closed solange Zugangsdaten fehlen. 28/28 Tests gegen einen nachgebauten PayPal-Server. Datenbank: 15 Tabellen mit Praefix wd_, fachlich vollstaendig vom Universe getrennt. Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "Dogfather Webdesign",
|
||||
"short_name": "DF Webdesign",
|
||||
"description": "Individuell gebaute Webseiten, persönlich umgesetzt. Projekte anfragen, Angebote und Dateien im eigenen Kundenbereich verwalten.",
|
||||
"lang": "de",
|
||||
"dir": "ltr",
|
||||
"start_url": "/webdesign/",
|
||||
"scope": "/webdesign/",
|
||||
"id": "/webdesign/",
|
||||
"display": "standalone",
|
||||
"display_override": ["window-controls-overlay", "standalone", "minimal-ui"],
|
||||
"orientation": "any",
|
||||
"background_color": "#05070b",
|
||||
"theme_color": "#05070b",
|
||||
"categories": ["business", "productivity"],
|
||||
"icons": [
|
||||
{ "src": "/assets/img/wd-app-192.png", "sizes": "192x192", "type": "image/png", "purpose": "any" },
|
||||
{ "src": "/assets/img/wd-app-512.png", "sizes": "512x512", "type": "image/png", "purpose": "any" },
|
||||
{ "src": "/assets/img/wd-app-512-maskable.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" }
|
||||
],
|
||||
"shortcuts": [
|
||||
{
|
||||
"name": "Projekt anfragen",
|
||||
"short_name": "Anfrage",
|
||||
"url": "/webdesign/anfrage.html",
|
||||
"icons": [{ "src": "/assets/img/wd-app-192.png", "sizes": "192x192" }]
|
||||
},
|
||||
{
|
||||
"name": "Kundenportal",
|
||||
"short_name": "Portal",
|
||||
"url": "/webdesign/portal.html",
|
||||
"icons": [{ "src": "/assets/img/wd-app-192.png", "sizes": "192x192" }]
|
||||
},
|
||||
{
|
||||
"name": "Verwaltung",
|
||||
"short_name": "Verwaltung",
|
||||
"url": "/webdesign/verwaltung.html",
|
||||
"icons": [{ "src": "/assets/img/wd-app-192.png", "sizes": "192x192" }]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user