Files
dogfather-universe/server/.env.example
T
DogFatherGitandClaude Opus 5 4b3ec450d5 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]>
2026-08-22 18:06:52 +02:00

41 lines
1.9 KiB
Bash

# Vorlage — echte Werte kommen in eine eigene ".env"-Datei (nie committen).
PORT=4100
# Zugangscode-Schranke — gleiche Codes wie beim bisherigen Cloudflare-Worker möglich, oder neu.
SITE_ACCESS_SECRET=
SITE_ACCESS_CODE_DOGI=
SITE_ACCESS_CODE_VANVAN=
SITE_ACCESS_CODE_DIENE=
# Automatischer öffentlicher Start (21.08.2026): ab diesem Zeitpunkt lässt
# gate.js JEDEN durch, ganz ohne Neustart/manuellen Eingriff -- die Codes
# oben bleiben bis dahin unverändert nötig. ISO-Format MIT Zeitzone, sonst
# wird der Wert als UTC statt als Ortszeit gelesen. Leer lassen = kein
# automatischer Start, die Schranke bleibt dauerhaft aktiv.
# Beispiel (21 Uhr deutscher Sommerzeit): 2026-08-21T21:00:00+02:00
SITE_PUBLIC_LAUNCH_AT=
# ---------------------------------------------------------------------------
# Webdesign-Bereich (/webdesign), 22.08.2026 — eigener Zugangsschutz.
# Bewusst UNABHAENGIG von SITE_PUBLIC_LAUNCH_AT oben: der oeffentliche Start
# des Universe darf diesen Bereich nicht mit aufsperren.
# ---------------------------------------------------------------------------
# Status: entwurf | vorabpruefung | freigegeben
# entwurf = komplett dicht, auch mit richtigem Code kein Zugang
# vorabpruefung = Zugang nur ueber die persoenlichen Codes (Standard)
# freigegeben = oeffentliche Seiten frei; die Verwaltung bleibt geschuetzt
WEBDESIGN_STATUS=vorabpruefung
# Leer lassen = die SITE_ACCESS_CODE_*-Codes von oben gelten auch hier
# (so eingerichtet auf Wunsch vom 22.08.2026). Wird hier spaeter ein eigener
# Wert eingetragen, gilt NUR noch dieser -- damit laesst sich der
# Webdesign-Zugang getrennt aendern oder entziehen, ohne den Universe-Zugang
# anzufassen.
WEBDESIGN_CODE_DOGI=
WEBDESIGN_CODE_VANVAN=
# Eigenes Signatur-Geheimnis fuer die Webdesign-Sitzung. Leer lassen = es
# wird SITE_ACCESS_SECRET benutzt. Ein Universe-Cookie funktioniert hier
# trotzdem nicht (die Sitzung traegt zusaetzlich bereich="webdesign").
WEBDESIGN_ACCESS_SECRET=