Entwicklung eines Multistore E-Commerce Marktplatzes für die BrickScout GmbH
2024.05.24 | Marius Schmidt
BrickScout.com - Der Marktplatz für LEGO Teile
Bei DenktMit eG sehen wir uns als echte Gefährten für unsere Kunden, insbesondere wenn es darum geht, komplexe Probleme zu lösen und innovative Lösungen zu entwickeln. Ein herausforderndes Projekt, das wir gemeinsam mit unserem Kunden, der BrickScout GmbH gemeistert haben, war die Entwicklung des Multishop E-Commerce Marktplatzes BrickScout.com. Mit Hilfe der DenktMit Genossen sollte ein neuer europäischer Online Marktplatz für LEGO Teile aus dem Boden gestampft werden.
Die Herausforderung
Die BrickScout GmbH war angetreten, um das Finden und Kaufen von LEGO Teilen für Händler und Kunden in Europa einfacher und rechtssicherer zu machen. Hierfür sollte ein spezialisierter Online-Marktplatz entwickelt werden, der vielen Händlern gleichzeitig ermöglichte, LEGO zu verkaufen.
Für den Teilekatalog war zu berücksichtigen, dass die LEGO Community bereits einen umfangreichen Fachjargon zur Teilekennung erarbeitet hatte. Beinhaltet waren die Kategorisierung nach Typen, Variante, Farben und eindeutige Teilenummern, sowie Details zur Erstveröffentlichungen und zugehörige Bauanleitungen in verschiedenen Sprachen. Aber auch weiterführende Informationen über weitere Teilenummern, passende Teilealternativen, den Inhalt von Boxen, Figuren, Oberkörpern usw. mussten abgebildet werden.
Ein fehlendes Puzzlestück waren hochauflösende Produktbilder und die Vergabe von EAN Nummern, für deren Erstellung ein IT-gestützter Prozess erarbeitet werden musste. Außerdem musste noch eine Suche her, die sowohl im gesamten Marktplatz als auch einzelnen Shops verfügbare Teile finden konnte.
Zu guter Letzt mussten die Händler natürlich auch ihren Bestand verwalten und mit weiteren Verkaufskanälen synchronisieren können. Zahlungen mussten abgewickelt und Bestellungen versandt werden, so dass ein Lagersystem eingebaut werden musste. Und natürlich musste neben der Entwicklung selbst auch der Softwarebetrieb auf die Beine gestellt werden.
Die Lösung von DenktMit
Der Teilekatalog
Um dieses Ziel zu erreichen, hatten wir zunächst ein umfangreiches SQL Datenbankmodell für Postgres entwickelt, das die vorhandene Nomenklatur und Teileinformationen der LEGO-Community integrierte. Dies ermöglichte es auf BrickScout, nicht nur gezielt nach Teilen zu suchen, sondern auch nach den spezifischen Kategorien, Farben und Teilealternativen zu filtern, die LEGO-Fans verwenden. Darüber hinaus wurde ein Prozess etabliert, um zu einem Set, einer Figur oder Ähnlichem die beinhalteten Stücklisten zu erhalten oder zu schauen, worin ein Bauteil noch enthalten ist. Abgerundet wurde der Teilekatalog durch eine Desktop-Software, die es den BrickScout Mitarbeitern ermöglichte, diesen selbstständig zu verwalten. Für die verschiedenen Shops der Plattform war damit die Grundlage geschaffen, deren LEGO Teile eindeutig zu referenzieren.
Produktbilder
Eine weitere wichtige Aufgabe war das Aufsetzen eines digital unterstützten Prozesses für die Beschaffung von Produktfotos. Über die Inventare verschiedener Bezugsquellen hinweg war zu koordinieren, wer welche Produktfotos machte. Dabei wurde neben einem einheitlichen Produktfotografie Setup für die Produktbilder sichergestellt, dass der Bezug zur dem Produkt vergebenen EAN Nummer nicht verloren gehen konnte.
Die mehrere hundert GB großen Fotodaten mussten dauerhaft gesichert werden, wofür zusätzlich zu Festplatten für die schnelle lokale Verfügbarkeit die Speicherung auf dem Amazon AWS Service S3 genutzt wurde. Um die zehntausenden Bilder initial in verschiedenen Größen für das Web bereitzustellen, wurde ein Kommandozeilen Prozess entwickelt. Dieser sorgte initial dafür, dass die Bilder optimal für die Anzeige auf BrickScout.com vorbereitet wurden.
Im laufenden Betrieb mussten kontinuierlich weitere Bilder hinzugefügt werden können. Einerseits in Hochauflösung für den Katalog, andererseits auch in den Webvarianten für die Website. Hier kam Amazon AWS S3 für die Speicherung, SQS zum Starten der Bildbearbeitung nach erfolgreichen Uploads und AWS Lambda für den eigentlichen Verarbeitungsprozess zum Einsatz. Dies ermöglichte eine nahtlose Integration neuer Produktbilder.
Multi-Shop und Facetten-Suche
Um den BrickScout Kunden ein angenehmes Einkaufserlebnis zu ermöglichen, wurde zum einfachen Finden von Produkten eine Facettensuche mit Elasticsearch umgesetzt. Diese erlaubt es Nutzern, Suchergebnisse schrittweise weiter einzuschränken. Der Clou ist, dass jeweils nur Filter gezeigt werden, die noch zu Ergebnissen führen, und man auch eine Vorschau erhält, wie viele.
Kunden können über die Suchmaschine schnell ihre gesuchten Teile finden und sehen, welche Shops diese im Angebot haben. Die gefundenen Artikel können dann in den Warenkorb gelegt werden, wobei gemischte Körbe über verschieden Shops hinweg möglich sind.
Da BrickScout.com für viele Händler voraussichtlich nur einen von mehreren Absatzkanälen darstellte, war von Anfang an für die Integrierbarkeit in andere Systeme zu sorgen. Gemeinsam wurde deshalb die Entscheidung getroffen, mit API first zuerst die technische Schnittstelle zum System als REST API zu entwickeln und das Webfrontend darauf umzusetzen.
Inhaltlich mussten die klassische Shop-Features bereitgestellt werden, die es Händlern ermöglichen, auf dem neuen Marktplatz zu verkaufen. Hierzu gehörte die Entwicklung der Lager- und Gesamtbestandsverwaltung sowie der dazugehörigen Verkaufspositionen inklusive von Bulk- und Staffelpreisen oder auch Rabatten. Zahlungen wurden wahlweise per Paypal oder Vorkasse abgewickelt.
Der Versand musste so konfiguriert werden können, dass den Kunden zum Abschluss der Bestellung nur gültige Versandoptionen inklusive Endpreisen angeboten wurden. Außerdem konnten optional nach bestimmten Regeln gesonderte Handling Gebühren anfallen oder auch Gutscheine erstellt werden. Zuletzt wurde noch die Möglichkeit geschaffen, eine Order vorerst nur zu reservieren. Denn viel LEGO Kunden stellen ihren Warenkorb über einen längeren Zeitraum zusammen.
Automatisierte Builds und Qualitätssicherung
Für die erfolgreiche Softwareentwicklung sind von Anfang an stabile Prozesse wichtig. Dementsprechend setzten wir bereits zu Beginn eine sogenannten Continuous Integration und Delivery Pipeline (CI/CD) um. Diese stellte nach jeder Änderung am Code sicher, dass nicht nur eine umfangreiche automatische Qualitätssicherung mit Unit, Integration und End-to-End Tests stattfand.
Die Auslieferung auf Test und Abnahmesystem wurde automatisiert. Und auch das Produktiv Deployment war auf Knopfdruck möglich, wenn alle vorhergehenden Schritten in Ordnung waren.
Inbetriebnahme auf Amazon AWS
Für einen wartungsarmen und stabilen Betrieb inklusive Backups und kontinuierlichen Überwachung aller beteiligten Systeme wurde hierfür konsequent auf die Cloud von Amazon AWS gesetzt. Für allgemeine Services kamen EC2-Container zum Einsatz, für gemanagte Datenbanken haben wir auf RDS gesetzt.
Das Ergebnis
Dank der engen Zusammenarbeit zwischen Genossen der DenktMit eG und der BrickScout GmbH wurde ein robuster und nutzerfreundlicher LEGO Marktplatz mit mehreren Händlern geschaffen. BrickScout ist nicht nur eine Plattform zum Kaufen und Verkaufen von LEGO-Teilen, sondern eine wertvolle Ressource für die LEGO-Community.
Mit BrickScout können LEGO-Fans nicht nur nach ihren Lieblingssteinen suchen, sondern auch das umfangreiche Wissen der Community nutzen. Die hochauflösenden Produktbilder und die durchdachte Suche machen es einfach, genau das zu finden und zu kaufen, wonach man sucht.
Wir bei DenktMit eG sind stolz darauf, Teil dieses Projekts zu sein und einen Beitrag zur LEGO-Community geleistet zu haben. Denn für uns geht es nicht nur um Software, sondern auch darum, Lösungen zu schaffen, die das Leben und die Leidenschaften unserer Kunden bereichern. BrickScout ist ein Beweis dafür, dass gemeinsame Anstrengungen zu schönen Erfolgen führen können.