60 lines
2.2 KiB
Markdown
60 lines
2.2 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
npm run dev:mail
|
|
```
|
|
|
|
```bash
|
|
npm run dev:server
|
|
```
|
|
|
|
```bash
|
|
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](https://mailpit.axllent.org/docs/install/docker/).
|
|
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
|
|
|
|
```bash
|
|
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.
|