Produktseiten & Datenblätter: Dynamische Zusammenstellung aus mehreren Quellen
Dieser Artikel erklärt, wie wir Produktseiten und PDF-Datenblätter durch die Kombination von Daten aus mehreren Systemen generieren.
Das Problem: Produktdaten sind verstreut
Eine Produktseite benötigt:
-
Produktinformationen: Name, Beschreibung, Funktionen
-
Bilder: Mehrere Produktfotos (von S3)
-
Preise: Aktuelle Preise in mehreren Währungen (vom Preisermittlungssystem)
-
Lagerbestand: Echtzeit-Inventarzählungen
-
Spezifikationen: Technische Spezifikationen nach Kategorie gruppiert (aus der SKU-Struktur)
Die Zusammenstellung dieser Daten aus mehreren Quellen für jeden Seitenaufruf ist komplex.
Die Lösung: Dynamische Zusammenstellung mit Caching
Wir stellen Produktseiten bei Bedarf zusammen:
- Produktdaten laden aus der Produktdatenbank (im Arbeitsspeicher)
- Bilder abrufen von S3 über das Bildmanifest
- Preise berechnen mit Währungsumrechnung
- Lagerbestand abfragen aus der Datenbank (gecached in Valkey)
- Datenblatt generieren bei Bedarf oder aus dem Cache
Produktdatenbank
Wir verwenden eine Produktdatenbank, die enthält:
-
Produktbeschreibungen: Produktnamen und Funktionen
-
Teileinformationen: Komponentendetails
-
Stücklistendaten: Stückliste für zusammengebaute Produkte
-
Preise: Webpreise und Währungsumrechnungen
Zusammenstellung der Produktseite
Produktseiten werden aus mehreren Quellen zusammengestellt:
- Produktdatenbank: Produktname, Funktionen, Preise
- S3-Speicher: Produktbilder aus dem Bildmanifest
- Datenbank: Lagerbestandszahlen (fertige Waren + Teile)
- Valkey: Gecachte Lagerbestandszahlen für Leistung
Bildbeschaffung
Produktbilder werden von S3 bezogen:
- Bildmanifest: Zentrale Registrierung der Bildstandorte
- S3-Bucket: Produktbilder gespeichert im Objektspeicher
- WebP-Format: Optimierte Bilder für schnelles Laden
- Fallback: Platzhalterbilder, wenn echte Bilder nicht verfügbar sind
Datenblattgenerierung
Datenblätter werden als PDFs mit pdfkit generiert:
- Vorlage: HTML-Vorlage mit Produktinformationen
- Funktionen: Aus der Produktdatenbank extrahiert
- Bilder: Produktbilder von S3
- PDF-Konvertierung: HTML zu PDF mit wkhtmltopdf
Das Datenblattlayout verwendet ein 2-Spalten-Format mit fettgedruckten Überschriften für Funktionsnamen.
Inventarberechnung
Wir berechnen den Lagerbestand aus mehreren Stufen:
- Stufe 1: Versandbereit (Fertigwarenlagerbestand)
- Stufe 2: Bereit in 3 Tagen (Mindestkomponentenbestand)
- Stufe 3: Bereit in 15 Tagen (Board + RAM Bestand)
Preisberechnung
Preise werden berechnet mit:
- Webpreis: Aus der Produktdatenbank
- Währungsumrechnung: Umrechnung in die Währung des Benutzers
- GST: Hinzufügen der anwendbaren Steuer
- Nettobetrag: Gesamtsumme inklusive Steuer
KI-gestützte Beschreibungen
Wir verwenden DeepSeek zur Generierung von Produktbeschreibungen:
- Produktnamen erstellen: Aus der SKU
- Funktionen extrahieren: Aus der Produktdatenbank
- An DeepSeek senden: Mit Systemaufforderung für Caching
- Antwort parsen: Slogan und Haupttext
- Speichern für mehrsprachige Unterstützung
Zusammenfassung
Produktseiten und Datenblätter bieten:
-
Vollständige Informationen: Aus mehreren Quellen
-
Optimierte Bilder: WebP-Format von S3
-
Schnelles Laden: Valkey-Caching für Lagerbestandszahlen
-
KI-Inhalte: DeepSeek für Beschreibungen
-
Mehrsprachig: Unterstützung für mehrere Sprachen