qcigano 2efba64d4f Shop-Filter: echte, automatisch berechnete Bestseller (Top 6) anzeigbar
Neues Kästchen "🔥 Nur Bestseller (Top 6)" im Shop-Filter (alle 4 Sprachen) — zeigt beim Anhaken
genau die 6 Produkte mit den meisten echten Verkäufen. Keine manuelle Pflege nötig: neuer
öffentlicher Endpunkt GET /api/bestseller berechnet die Rangliste live per SQL-Aggregation aus
den echten Bestelldaten (order_items JOIN orders, GROUP BY Produkt-Slug, SUM der Menge), NICHT
die manuell im Admin-Bereich setzbare "Bestseller"-Auszeichnung.

Zählweise: stornierte und noch nicht bezahlte (zahlungOffen) Bestellungen zählen nicht mit (sonst
würden Fehlbestellungen/nie eingegangene Zahlungen die Rangliste verfälschen), ebenso wenig
kostenlose Positionen wie der Abo-Teddy (kein echtes Kaufinteresse). Liefert ausschließlich
Produkt-Slugs zurück, keinerlei Bestell-/Kundendaten — bleiben weiterhin nur in /api/verwaltung/*.

Verifiziert: SQL-Aggregation mit Testdaten geprüft (korrekte Rangfolge, korrekter Ausschluss von
storniert/zahlungOffen/gratis, LIMIT 6 exakt). Frontend-Verdrahtung (Checkbox -> fetch -> Filter)
per echtem Browsertest mit vorgetäuschter API-Antwort bestätigt (checken zeigt genau die
vorgegebenen Produkte, abwählen zeigt wieder alle).
2026-08-04 16:05:57 +02:00

Van's DIY & Bastelbedarf Website (lokale Vorschau)

Hallo VanVan 🩵 Das hier ist der Code für deinen zukünftigen Onlineshop. Du musst nichts programmieren diese Anleitung reicht, um die Seite auf deinem PC anzusehen.

Schnellstart (empfohlen)

  1. Doppelklick auf die Datei Vorschau-Starten.bat in diesem Ordner.
  2. Es öffnet sich ein schwarzes Fenster, das kurz Dinge vorbereitet.
  3. Danach öffnet sich automatisch dein Browser mit der Vorschau.
  4. Zum Beenden: im schwarzen Fenster Strg + C drücken, dann Fenster schließen.

Falls sich nichts öffnet: prüfe, ob im schwarzen Fenster ein Hinweis auf Node.js steht (siehe unten) und lies die Fehlermeldung genau durch.

Voraussetzung: Node.js

Diese Website braucht ein kostenloses Programm namens Node.js, damit sie auf deinem PC laufen kann (das ist wie ein kleiner "Motor" für moderne Webseiten).

  • Prüfen, ob es schon installiert ist: das Start-Skript macht das automatisch.
  • Falls nicht: Download unter https://nodejs.org → den Button mit "LTS" wählen → installieren (einfach überall "Weiter" klicken) → danach Vorschau-Starten.bat erneut starten.

Manueller Start (für Filipe / falls das Skript mal nicht geht)

Im Ordner shop/ in einer Kommandozeile (z. B. Git Bash oder PowerShell):

npm install     # nur beim allerersten Mal nötig
npm run build   # baut die Seite (prüft, ob alles fehlerfrei ist)
npm run dev     # startet die lokale Vorschau

Danach im Browser öffnen: http://localhost:4321

Was ist das hier gerade für ein Stand?

Phase 1 Design & Struktur. Alle Seiten aus dem Pflichtenheft sind als echtes, klickbares Frontend vorhanden (Startseite, Shop, Kategorien, Produktseiten, Warenkorb, Checkout-Vorschau, rechtliche Seiten usw.). Der Warenkorb funktioniert bereits (im Browser gespeichert), es gibt aber noch keine echte Bestellabwicklung, keine echte Zahlung und noch kein Adminbereich das folgt in Phase 2. Alle Produkte, Preise, Bilder und der "Über die Kreative"-Text sind aktuell Platzhalter und werden ersetzt, sobald du echte Fotos/Texte/Preise lieferst.

Projektstruktur (kurz)

shop/
├─ src/pages/       ← jede Datei hier ist eine Seite der Website
├─ src/data/        ← Produkte & Kategorien (hier später echte Daten eintragen)
├─ src/components/  ← wiederverwendbare Bausteine (z. B. Produktkarte)
├─ src/layouts/      ← gemeinsamer Rahmen (Header/Footer) aller Seiten
├─ src/styles/       ← Farben, Schriften, Design-Grundlagen
└─ public/           ← Logo, Icons, robots.txt

Mehr Hintergrund (Pflichtenheft-Zusammenfassung, Branding-Entscheidungen, Tech-Stack-Begründung) steht im Obsidian-Vault unter „Van Van Homepage".

S
Description
No description provided
Readme
80 MiB
Languages
Astro 62.2%
TypeScript 13.4%
CSS 12.1%
JavaScript 9.7%
HTML 2.5%
Other 0.1%