Webshop selber aufsetzen - Teil1
Dies ist Teil eins der Artikelserie über den Aufbau meines eigenen Webshops. Ich liste Anforderungen und Wünsche für meine Ecommerce-Lösung auf und grenze mich damit auf ein paar passende Software-Lösungen ein, die ich dann für meinen Webshop verwenden könnte.
Was mein Webshop können muss
Für mich als Betreiber soll der Webshop möglichst schlank, transparent und automatisiert operieren. Ich möchte nur wenig Zeit mit Betrieb, Wartung und Pflege verbringen. Zahlungsabwicklung, Verwaltung des Bestellstatus, Kundenregistrierung, Versenden von Kundeninformation sowie eine große Anzahl Schritte im Versandprozess wie Frankieren und Einpflegen von Versandbestätigungen soll automatisiert stattfinden oder zumindest für die Automatisierung vorbereitet werden.
Aber auch für Kunden muss der Webshop verständlich aufgebaut sein: Simpel und mit wenigen Klicks von der Startseite bis zum Checkout, leicht zu bedienen, ähnlich zu anderen gängigen Webshops, mit unkomplizierter Zahlungsabwicklung. Dabei sollen so wenige Daten vom Kunden wie möglich erhoben werden.
Der Webshop muss nur wenige Produkte darstellen. Daher kann die Navigation sehr einfach gehalten werden. Durch die geringe Anzahl Produktkategorien kan möglicherweise komplett auf ein Baumsystem verzichtet werden.
Schauen wir uns mal schnell im Detail an, welche Funktionen der Webshop am Ende bereitstellen muss.
Funktionen für Admins
- Produkt anlegen
- Titel
- Tags
- Kurzbeschreibung
- Beschreibung
- Bilder
- Videos
- Preis
- Steckbrief / Datenblatt / Anleitung
- Produkt editieren
- Produkt entfernen
- Bestellungen verwalten
- Schritt quittieren
- Schritt erneut starten
- Prozess stornieren
- Kunden verwalten
- anlegen (sandbox)
- löschen (Datenschutz)
Funktionen für Käufer
- Webshop durchstöbern
- Produkt(e) konfigurieren oder Produktvariante auswählen (z.B. Farbe, Qualität)
- Produkt(e) in einen Warenkorb legen
- Warenkorb verwalten
- Registrierung vornehmen (optional, nur zur Kundendatenablage und Bestellverwaltung)
- Versand wählen
- Zahlung vornehmen
Automatische Funktionen
- Zahlungsregistrierung
- Rechnungserstellung und -Versand
- Inventarverwaltung
- Versandbenachrichtigung
Nichtfunktionale Anforderungen
Hier liste ich auf, was der Webshop “nebenbei” noch so alles können soll. Alles, was nicht unmittelbar zur Auftragsabwicklung benötigt oder für Kunden sichtbar wird.
Usability Betreiberseite
- Der Shop soll mit möglichst geringen Abhängigkeiten zu Software Dritter auskommen und nur diejenigen Module einbinden, die unbedingt benötigt werden. Beispiele:
- Zahlungsabwicklung
- Warenkorb
- Kundenkonto / Adressdaten
- Lagerbestände
- Bestellabwicklung (Mailer) für Käufer
- Rechnungsstellung.
- Der Shop soll nur so viele dynamisch erzeugte Elemente enthalten wie unbedingt nötig.
Usability Käuferseite
- Der Webshop soll sich wie aktuelle übliche ECommerce-Lösungen anfühlen: Flink, übersichtlich, einfach.
- Kein Zwang zum Kundenkonto.
- Der Shop soll gängige Zahlungsmöglichkeiten unterstützen (Debit, Kredit, PayPal, Apple/GooglePay etc.). Dabei sind nur lokale (in Deutschland ansässige) Zahlungsdienstleister akzeptabel.
- Für den User sollen Lagerbestände bzw. Fertigungszeiten transparent angezeigt werden.
Datenschutz
- Der Shop soll nur für die Geschäftsabwicklung notwendige Daten erfassen.
- Falls technisch und rechtlich möglich soll der Shop ohne Cookie-banner auskommen können.
- Kundenkonten sollen automatisch nach 2 Jahren der Nicht-Nutzung (mit Ankündigung 2 Wochen vorher) gelöscht werden.
Look & Feel
Hier einige Beispiele für gelungene, einfache Shopdesigns:
Davon abgeleitete Anforderungen:
- Der Webshop soll von Aufbau und Farbgebung her an meine Blogseite erinnern und eine einheitliche Optik bieten.
- Es sollen nur statische Fonts ohne Nachladen verwendet werden.
- Produktbeschreibungen sollen als Markdown-Dokumente (oder Ähnlich) hochgeladen werden können.
Datenbank- oder Dateilösung?
Es muss nicht immer gleich eine Datenbank sein. Für viele Anwendungen werden nur Bruchteile der Funktionalität gängiger Datenbanklösungen benötigt, doch erhöht sich die Komplexität des Gesamtsystems erheblich. Sollte z.B. gleichzeitiges Schreiben selten oder nie vorkommen und keine starke Verkettung von Daten vorliegen, so kann eine Dateilösung einfacher, schneller und effizienter sein Link zu einer passenden Engineering Kiosk Podcast-Episode.
Andererseits kommen viele Shopsysteme “with batteries included”, verfügen also schon von sich aus über eingebaute und für die Programmierer nahezu transparente Datenverwaltung.
Dateilösung (statische Website)
- Auf Betreiberseite soll sich der Webshop so anfühlen wie ein Git-Projekt (everything is a file).
- Änderungen im Angebot, Artikelbeschreibung, Preise etc. sollen per
git push
auf den Server gespielt werden können - wie bei einer statischen Webseite. - Wird ein Pull Request nach
main
gemerged, so soll der Webshop neu bauen (CD-Pipeline) und die Änderungen auf dem Server veröffentlichen. - Für Inventarverwaltung, Warenkorb, Kundeninteraktion und automatisierte Funktionen sind dynamische Elemente erforderlich. Hier gilt zu entscheiden, was direkt in Javascript und welche Elemente besser per Automatisierungspipeline gelöst werden sollen.
Datenbanklösung (dynamische Website)
- Produkte werden in der Datenbank gehalten.
- Die Verwaltung des Webshops geschieht per Web-Oberfläche.
- Die Datenbankverwaltung soll teilautomatisiert erfolgen, dabei sind Backups und Verschlüsselung für Kundendaten vorzusehen.
- Die Datenbank ist transparent für den Admin: Alle Einträge hier erfolgen über eine Web-Schnittstelle.
Im nächsten Artikel
Auswahl einer Ecommerce-Lösung für meinen Webshop