Files
hd-commerce/README.md
T

3.1 KiB
Raw Blame History

hd-commerce

hd-commerce ist ein eigenständiges, brand-neutrales E-Commerce-Backend von Heidrich Digital: eine wiederverwendbare Astro-SSR-Anwendung mit Commerce-Engine (SQLite), Shopify-artigem Admin, JSON-API und einem schlanken, neutralen Demo-Storefront.

Die mitgelieferte Demo-Instanz heißt „Brittas Nähkiste" (Kurzwaren/Nähbedarf) und dient nur als Beispiel. Name, Akzentfarbe, Texte und Logo-Wortmarke sind über die Einstellungen frei anpassbar — derselbe Code läuft für beliebige Shops.

Features

  • Storefront (hell, editorial, neutral): Startseite mit Announcement-Bar, Slider, Kategorien, Featured-Produkten und Newsletter; Shop-Katalog mit Kategorie-Filter; Produktdetailseiten; Warenkorb (localStorage); Checkout; Rechts-/Inhaltsseiten aus der DB.
  • Admin (Shopify-Stil): Dashboard mit KPIs & Funnel, Bestellungen mit Status-Workflow, Produkt-Editor (CRUD), Kunden, eigene Analytics (First-Party, Chart.js), Marketing (Popups & Announcement-Bar), Inhalte (Seiten, Slider, Medien-Upload) und Einstellungen.
  • Engine: synchron via better-sqlite3 (WAL), automatisches Seeding beim ersten Start.
  • API: /api/checkout (Stripe Hosted Checkout oder Demo-Fallback), /api/track, /api/subscribe, /api/upload, /uploads/[file].
  • First-Party-Analytics: eigene events-Tabelle, kein externer Dienst, keine personenbezogenen Rohdaten (Session = täglich rollender Hash aus IP+UA+Tag).
  • Branding konfigurierbar: Shop-Name, Akzentfarbe, Währung u. a. in einer settings-Tabelle; Akzentfarbe wird als CSS-Variable in Storefront und Admin injiziert.
  • Self-hosted Fonts (Fraunces + Public Sans), kein Google-CDN.

Umgebungsvariablen (ENV)

Variable Beschreibung Default
DB_PATH Pfad zur SQLite-Datenbank (wird angelegt) ./data/hdc.db
ADMIN_USER Basic-Auth-Benutzer für /admin admin
ADMIN_PASS Basic-Auth-Passwort für /admin admin
STRIPE_PUBLIC_KEY Stripe Publishable Key (optional)
STRIPE_SECRET_KEY Stripe Secret Key (sk_test_…/sk_live_…). Ohne echten Key läuft der Demo-Checkout.

Siehe .env.example.

Lokal starten

npm install
npm run dev          # Entwicklungsserver auf http://localhost:4321
# oder produktiv:
npm run build
node ./dist/server/entry.mjs

Storefront: / · Admin: /admin (Standard admin / admin).

Docker / Coolify

docker build -t hd-commerce .
docker run -p 4321:4321 -v hdc-data:/data \
  -e ADMIN_USER=admin -e ADMIN_PASS=geheim hd-commerce

Das Dockerfile (node:22-slim) baut better-sqlite3 nativ, legt /data an und setzt DB_PATH=/data/hdc.db. Auf Coolify ein persistentes Volume auf /data mounten, damit Datenbank und Uploads erhalten bleiben. HEALTHCHECK prüft /.

Datenmodell

settings, products, orders, customers, slides, pages, popups, subscribers, events, media — alles seed-bar und im Admin pflegbar.


Hinweis: „Brittas Nähkiste" ist nur die mitgelieferte Demo-Instanz. Brand (Name, Farben, Texte) ist über Admin → Einstellungen anpassbar.

Lizenz: MIT (siehe LICENSE).