a1935aae02f82c76708cc4da2b3a14583de27966
- Extend email system to support file attachments - Add sendEmailWithAGB() function that automatically attaches AGB.pdf - Implement AGB PDF caching for better performance - Update booking confirmation email template with AGB notice - Add visual highlight box in HTML email with AGB information - Update email subject to indicate AGB attachment - Include AGB reference in both HTML and text versions - Ensure legal compliance by automatically sending terms with confirmations Changes: - email.ts: Add attachment support and AGB PDF integration - email-templates.ts: Add AGB notice to confirmation emails - bookings.ts: Use sendEmailWithAGB for confirmed bookings - German localization for admin treatments component
Stargirlnails Kiel - Nail Salon Booking System
Ein vollständiges Buchungssystem für Nagelstudios mit Admin-Panel, Kalender und E-Mail-Benachrichtigungen.
Dependencies
Setup
1. Umgebungsvariablen konfigurieren
Kopiere die .env.example
Datei zu .env
und konfiguriere deine Umgebungsvariablen:
cp .env.example .env
2. Admin-Passwort Hash generieren
Das Admin-Passwort wird als Base64-Hash in der .env
Datei gespeichert. Hier sind verschiedene Methoden, um einen Hash zu generieren:
PowerShell (Windows)
# Einfache Methode mit Base64-Encoding
$password = "dein_sicheres_passwort"
$bytes = [System.Text.Encoding]::UTF8.GetBytes($password)
$hash = [System.Convert]::ToBase64String($bytes)
Write-Host "Password Hash: $hash"
# Alternative mit PowerShell 7+ (kürzer)
$password = "dein_sicheres_passwort"
[Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes($password))
Node.js (falls verfügbar)
// In der Node.js Konsole oder als separates Script
const password = "dein_sicheres_passwort";
const hash = Buffer.from(password).toString('base64');
console.log("Password Hash:", hash);
Online-Tools (nur für Entwicklung)
- Verwende einen Base64-Encoder wie base64encode.org
3. .env Datei konfigurieren
Bearbeite deine .env
Datei und setze die generierten Werte:
# Admin Account Configuration
ADMIN_USERNAME=owner
ADMIN_PASSWORD_HASH=ZGVpbl9zaWNoZXJlc19wYXNzd29ydA== # Dein generierter Hash
# Email Configuration
RESEND_API_KEY=your_resend_api_key_here
EMAIL_FROM=noreply@yourdomain.com
ADMIN_EMAIL=admin@yourdomain.com
4. Anwendung starten
# Dependencies installieren
pnpm install
# Entwicklungsserver starten
pnpm dev
Features
- 📅 Terminbuchung: Kunden können online Termine buchen
- 💅 Behandlungsverwaltung: Admin kann Behandlungen hinzufügen/bearbeiten
- 📆 Kalender-Ansicht: Übersichtliche Darstellung aller Termine
- ⏰ Verfügbarkeits-Slots: Flexible Slot-Verwaltung mit behandlungsspezifischen Dauern
- 📧 E-Mail-Benachrichtigungen: Automatische Benachrichtigungen bei Buchungen
- 🔐 Admin-Panel: Geschützter Bereich für Inhaber
Admin-Zugang
Nach dem Setup kannst du dich mit den in der .env
konfigurierten Admin-Credentials anmelden:
- Benutzername: Wert aus
ADMIN_USERNAME
- Passwort: Das ursprüngliche Passwort (nicht der Hash)
Sicherheit
⚠️ Wichtige Hinweise:
- Ändere das Standard-Passwort vor dem Produktionseinsatz
- Die aktuelle Passwort-Hashing-Methode (Base64) ist nur für Entwicklung geeignet
- Für Produktion sollte bcrypt oder ein ähnliches sicheres Hashing-Verfahren verwendet werden
- Speichere niemals echte Passwörter in der
.env
Datei, nur die Hashes
Description
Languages
TypeScript
72.7%
JavaScript
25.7%
Shell
1%
Dockerfile
0.3%
HTML
0.1%
Other
0.1%