Files
hd-commerce/.env.example
T
till 30c41c355e v2.3: Feature-Module live — Suche, Merkliste, Kundenkonten+Adressbuch, Bewertungen, Abandoned-Cart
- feature_search: Storefront-Header-Suche + /suche (SSR, SQLite LIKE, case-insensitiv; Name/Kurz/Desc/Material/Kategorie), Treffer als Karten, Leer-Zustand
- feature_wishlist: Herz-Button auf Karten/PDP (localStorage, public/wishlist.js) + /merkliste
- feature_accounts: getrennte Kunden-Session (Cookie hdc_customer, scrypt), /konto/registrieren|anmelden|abmelden, /konto (Bestellhistorie+Adressbuch), Tabelle customer_addresses, Checkout-Vorbefuellung + orders.customer_id-Zuordnung; Gast-Checkout bleibt
- feature_reviews: Tabelle reviews (1-5, Moderation), /api/review (approved=0), PDP-Anzeige Durchschnitt+Reviews + aggregateRating-JSON-LD, Admin /bewertungen (Freigeben/Verbergen/Loeschen) + Nav-Zaehler
- feature_abandoned_cart: Tabelle abandoned_carts, /api/cart-capture beim Checkout-Start, /api/cron/abandoned (CRON_TOKEN) sendet Erinnerungsmail (Mailer/Log) + reminded=1, recovered=1 bei Bestellung; Status in Einstellungen
- Gating: Flag aus => Storefront-Elemente weg, Routen 302/404, Admin-Nav-Punkt entfaellt; KEIN 'in Vorbereitung' mehr
- API/MCP: reviews CRUD + abandoned_carts (read) in admin-api + ai-admin.txt + MCP-Tools; Manifest v2.3
- README + .env.example (CRON_TOKEN, ABANDONED_AFTER_MINUTES); 16 neue Unit-Tests (Suche/Review-Avg/Kunden/Abandoned)
2026-06-18 07:27:34 +00:00

59 lines
2.0 KiB
Bash

# hd-commerce — Umgebungsvariablen
# --- Datenbank ---
# Pfad zur SQLite-Datenbank (wird automatisch angelegt)
DB_PATH=./data/hdc.db
# --- Admin-Zugang (Session-Login) ---
# Initial-Owner, der beim ERSTEN Start angelegt wird (danach im Admin verwaltbar)
ADMIN_EMAIL=admin@example.com
ADMIN_PASS=admin
# Unter welchem Pfad der Admin erreichbar ist (z.B. "admin" -> /admin, "intern" -> /intern)
ADMIN_PATH=admin
# Geheimnis zum Signieren der Session-Cookies (HMAC). In Produktion UNBEDINGT setzen!
SESSION_SECRET=bitte-langes-zufaelliges-geheimnis-setzen
# --- KI-/MCP-Admin-API ---
# Bearer-Token für /api/admin/* (getrennt von der Session). Leer => API gesperrt.
HDC_API_TOKEN=
# --- Stripe (optional) ---
# Ohne echte Keys läuft der Demo-Checkout-Fallback.
STRIPE_PUBLIC_KEY=pk_test_xxxxxxxxxxxxxxxxxxxxxxxx
STRIPE_SECRET_KEY=sk_test_xxxxxxxxxxxxxxxxxxxxxxxx
# --- MCP-Server (mcp/) ---
# HDC_BASE_URL=https://shop.example.com
# HDC_API_TOKEN= (dasselbe Token wie oben)
# --- Zahlung: Provider-Abstraktion (v2.2) ---
# Provider explizit wählen: mollie | stripe | demo. Leer => Auto-Wahl nach vorhandenen Keys.
PAYMENT_PROVIDER=
# Mollie (Default-Anbieter). Test- oder Live-Key. Ohne gültigen Key läuft der Demo-Fallback.
MOLLIE_API_KEY=
# (Stripe-Keys siehe oben — werden weiterhin unterstützt.)
# --- E-Mail-Versand (v2.2) ---
# Provider: listmonk | smtp | (leer => Log-Fallback in DB-Tabelle email_log)
MAIL_PROVIDER=
# Absenderadresse für ausgehende Mails
MAIL_FROM=shop@example.com
# Listmonk (Transactional-API /api/tx)
LISTMONK_URL=https://listmonk.example.com
LISTMONK_USER=
LISTMONK_PASS=
LISTMONK_TX_TEMPLATE_ID=
# SMTP (alternativ, via nodemailer)
SMTP_HOST=
SMTP_PORT=587
SMTP_USER=
SMTP_PASS=
SMTP_SECURE=false
# --- Feature-Module (v2.3) ---
# Warenkorb-Erinnerung: Token, das den Cron-Endpoint /api/cron/abandoned schützt.
# Leer => Endpoint bleibt gesperrt (401). Coolify-Scheduled-Task ruft den Endpoint mit diesem Token.
CRON_TOKEN=
# Karten, die älter als X Minuten sind und weder bezahlt noch erinnert wurden, werden erinnert.
ABANDONED_AFTER_MINUTES=30