Go to file
Marvin Gemlin 3f82591c2d Buchungsbereich als Komponente umgebaut und Bestätigungsseite ergänzt 2026-09-26 09:21:46 +00:00
.devcontainer Angebotsübersicht und Buchung verbinden, Mailpit einrichten 2026-09-25 11:53:07 +00:00
.vscode Projekt mit Devcontainer einrichten 2026-09-24 13:33:57 +00:00
docs Paketübergabe korrigiert, Bestellübersicht und Bestätigungsmail erweitert 2026-09-25 20:11:16 +00:00
public/images Projektstruktur angepasst 2026-09-24 14:10:51 +00:00
src Buchungsbereich als Komponente umgebaut und Bestätigungsseite ergänzt 2026-09-26 09:21:46 +00:00
.editorconfig Projekt mit Devcontainer einrichten 2026-09-24 13:33:57 +00:00
.env.example Paketübergabe korrigiert, Bestellübersicht und Bestätigungsmail erweitert 2026-09-25 20:11:16 +00:00
.gitignore feat: Paketbuchung mit CSV, SMTP und fortlaufenden Buchungsnummern 2026-09-24 16:11:54 +00:00
.prettierignore feat: Paketbuchung mit CSV, SMTP und fortlaufenden Buchungsnummern 2026-09-24 16:11:54 +00:00
.prettierrc.json Projekt mit Devcontainer einrichten 2026-09-24 13:33:57 +00:00
README.md Angebotsübersicht und Buchung verbinden, Mailpit einrichten 2026-09-25 11:53:07 +00:00
angebotsuebersicht.html Angebotsübersicht und Buchung verbinden, Mailpit einrichten 2026-09-25 11:53:07 +00:00
booking-confirmation.html Buchungsbereich als Komponente umgebaut und Bestätigungsseite ergänzt 2026-09-26 09:21:46 +00:00
booking.html Buchungsbereich als Komponente umgebaut und Bestätigungsseite ergänzt 2026-09-26 09:21:46 +00:00
index.html Angebotsübersicht und Buchung verbinden, Mailpit einrichten 2026-09-25 11:53:07 +00:00
package-lock.json feat: Paketbuchung mit CSV, SMTP und fortlaufenden Buchungsnummern 2026-09-24 16:11:54 +00:00
package.json Angebotsübersicht und Buchung verbinden, Mailpit einrichten 2026-09-25 11:53:07 +00:00
paket-details.html Paketübergabe korrigiert, Bestellübersicht und Bestätigungsmail erweitert 2026-09-25 20:11:16 +00:00
playwright.config.js feat: Paketbuchung mit CSV, SMTP und fortlaufenden Buchungsnummern 2026-09-24 16:11:54 +00:00
vite.config.js Buchungsbereich als Komponente umgebaut und Bestätigungsseite ergänzt 2026-09-26 09:21:46 +00:00

README.md

Tri-Hub Ernährungsberatung

Im Dev Container starten

  1. Repository klonen und in VS Code „Dev Containers: Reopen in Container“ wählen. Bei einem bereits vorhandenen Container einmal „Dev Containers: Rebuild Container“ ausführen, damit Mailpit installiert wird.
  2. Die Einrichtung installiert automatisch die npm-Abhängigkeiten und erstellt .env aus .env.example, sofern noch keine .env vorhanden ist.
  3. In drei getrennten Terminals in dieser Reihenfolge starten:
npm run dev:mail
npm run dev:server
npm run dev

Startseite: http://localhost:5173 — über „Beratung kennenlernen“ zur Angebotsübersicht und von dort zum Buchungsformular des gewählten Pakets. Direkt: http://localhost:5173/angebotsuebersicht.html Mailansicht: http://localhost:8025. Beide Web-Ports werden vom Dev Container weitergeleitet. Mailpit läuft im selben Container auf SMTP-Port 1025 und fängt Testmails lokal ab, ohne sie extern zu versenden.

Die Container-Konfiguration installiert Mailpit v1.31.2 aus dem offiziellen Docker-Image. Die Binärdatei, lokale Mails, .env und Buchungsdaten werden nicht committed. Mailpit verwendet ohne Datenbankpfad einen temporären Speicher; Testmails müssen nach einem Neustart nicht erhalten bleiben.

Ohne Dev Container: Node.js 24 und Mailpit installieren, npm ci ausführen und .env.example nach .env kopieren, falls .env fehlt. Danach dieselben drei Startbefehle verwenden.

Ohne Mailpit wird die Buchung gespeichert, aber der fehlgeschlagene Mailversand angezeigt. Der Ablauf bleibt eine Simulation ohne Zahlung oder verbindliche Beratung. Buchungen liegen lokal in src/server/data/bookings.csv. Diese Datei nicht vorab leer anlegen: Das Backend erzeugt sie bei der ersten Buchung selbst.

Prüfen

npm test
npm run build
npm run test:browser

Die Browsertests starten eigene Server auf 3000 und 5173; diese Ports vorher freihalten. Sie verwenden eine temporäre CSV und simulierten Mailversand. Falls Chromium fehlt: npx playwright install chromium.

Der Build enthält Startseite, Angebotsübersicht und Buchungsseite. Für ein Deployment zusätzlich das Node-Backend betreiben und /api dorthin weiterleiten.