3.1 KiB
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).