Files
skrift-programme/Docker/directus/.env.example
Lucas Orth 06c4078290 Produktions-Modul, überarbeitete Preislogik und WordPress-Preisrechner
Directus
- Neues Modul „Produktion": Board mit Neu/Warteschlange/Im Druck/
  Kuvertierung/Versandfertig/Versendet/Archiv, zentraler Suche, Druck-Popup
  (Maschine, Template, Maße, Nummernbereich, Direktdruck vs. Warteschlange)
  und Empfängerliste mit Vorschau von Schriftstück und Kuvert.
- Interface-Plugins: Auftragsdateien, Drucken, Testdruck, Empfängersuche.
- Mailer-Hook für Auftrags- und Statusmails inkl. Signatur und AGB-Anhang.
- Auftrag: Empfängerzeilen inline, Produktionsstatus (inkl. storniert),
  Versanddatum, Brief-/Kuvert-Indikatoren, Insights-Dashboard.
- Absender aller Mails ist Skrift (Projektname + email_settings); die
  Angebotsanfrage nennt jetzt das angefragte Produkt.

Preislogik
- Eine gemeinsame Multiplikator-Formel; Normalpreis-Menge je Produkt
  (products.norm_qty). Alte B2B/B2C-Fallback-Felder entfernt.
- Mengenrabatt-Staffel (ab X Stück Y %) in den Preis-Einstellungen.
- Preis pro Stück ohne einmalige Kosten (unit_net_total).
- Einzelversand rechnet Kuvert und Beschriftung nicht mehr doppelt.
- Fehlerhafte Grundpreis-Formel legt die Preisauskunft nicht mehr lahm.
- Briefnummern 1-basiert: Dateiname entspricht der Briefnummer.

app.skrift.de
- Direktlinks für Muster, Unterschriftenservice und Follow-ups; Muster als
  eigene Seite, Kontaktprodukte direkt im Anfrageformular.
- Mehrere Adressen in den Stammdaten plus Adressauswahl im Konfigurator.
- Verbotene Zeichen werden bei der Eingabe entfernt und gemeldet.
- Zeilenüberlauf als Fehlerkasten vor „Weiter"; Mengenfeld leerbar,
  Standardmenge 100; Checkout-Checkboxen im Kartenstil.

Produktion
- skrift-agent: Poll-Modell je Maschine, Maß-Übersteuerung, Nummernfilter
  und automatischer Übergang in die Kuvertierung.

WordPress
- Neues Plugin „Skrift Preisrechner": Shortcodes inkl./exkl. MwSt,
  stündlicher Abgleich der Preisdaten in WordPress und ein sicherer
  Formel-Interpreter, damit Formeländerungen automatisch greifen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 13:24:12 +02:00

52 lines
2.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Directus – kopiere zu .env und fülle die Werte aus. .env NICHT committen.
# ── Postgres ────────────────────────────────────────────────
DB_DATABASE=skrift
DB_USER=directus
DB_PASSWORD=CHANGE-ME-strong-db-password
# ── Directus ────────────────────────────────────────────────
# SECRET: langer Zufallswert, z. B. openssl rand -hex 32
DIRECTUS_SECRET=CHANGE-ME-64-hex-random
PUBLIC_URL=https://admin.skrift.de
# Erster Admin (nur beim ersten Start relevant)
ADMIN_EMAIL=admin@skrift.de
ADMIN_PASSWORD=CHANGE-ME-strong-admin-password
# CORS: URL des Frontends (Portal/Konfigurator). Kommagetrennt möglich.
CORS_ORIGIN=https://app.skrift.de
# ── E-Mail (SMTP) — für passwortlosen Login-Code + Benachrichtigungen ──
# WICHTIG: PORT und SECURE müssen zusammenpassen, sonst schlägt die Verbindung
# mit "SSL routines: wrong version number" fehl:
# Port 587 → STARTTLS → EMAIL_SMTP_SECURE=false
# Port 465 → implizites TLS → EMAIL_SMTP_SECURE=true
EMAIL_FROM=noreply@skrift.de
EMAIL_SMTP_HOST=
EMAIL_SMTP_PORT=587
EMAIL_SMTP_USER=
EMAIL_SMTP_PASSWORD=
EMAIL_SMTP_SECURE=false
# Nur falls der Mailserver ein selbstsigniertes Zertifikat nutzt:
# EMAIL_SMTP_TLS_REJECT_UNAUTHORIZED=false
# ── Skrift-Backend (Vorschau + finaler Auftrag) ─────────────
# Intern über das gemeinsame npm-Netz erreichbar (container_name).
SKRIFT_BACKEND_URL=http://skrift-backend:4000
# MUSS exakt dem API_TOKEN aus Docker/skrift-backend/.env entsprechen,
# sonst antwortet das Backend mit 401 Unauthorized.
SKRIFT_BACKEND_TOKEN=CHANGE-ME-gleich-wie-backend-API_TOKEN
# Vorschauen pro Kennung und Tag
SKRIFT_PREVIEW_LIMIT=10
# Zieladresse für Angebots-/Musteranfragen
SKRIFT_TEAM_EMAIL=hello@skrift.de
# ── PayPal (server-seitige Zahlungsprüfung) ─────────────────
# Client-ID ist öffentlich (auch im Frontend), das Secret bleibt NUR hier.
PAYPAL_CLIENT_ID=
PAYPAL_CLIENT_SECRET=
# sandbox oder live
PAYPAL_ENV=sandbox