Im Internet ist bereits eine Vielzahl an Webshops vorhanden, die ein breites Spektrum an Artikeln abdecken, wie z. B. Bücher, Elektroartikel, Kosmetikprodukte und vieles mehr. Im Lebensmittelbereich ist die Anzahl an Webshops in Deutschland jedoch sehr gering und wird meist nur in größeren Städten angeboten. Anders verhält es sich in Ländern wie der Schweiz oder in Großbritannien. Dort sind Webshops für Lebensmittel erfolgreich am Markt platziert. In der durchgeführten Branchenanalyse wurde ersichtlich, dass auch der deutsche Markt Potenzial für Onlineshops mit Lebensmittel bietet. Die zentrale Idee ist die Abholung des Einkaufs anstelle des Versands. Damit unterscheidet sich das Vorhaben von den bestehenden reinen Onlineversendern. Der Grund, die Abholung dem Versand vorzuziehen, liegt in den ungelösten Problemen beim Verschicken von Lebensmitteln.
In Zusammenarbeit mit einem Lebensmitteleinzelhändler ist ein Webshop für Lebensmittel entstanden. Dabei hat der Kunde die Möglichkeit, seinen Einkauf online zusammenzustellen und an eine Filiale des Lebensmitteleinzelhändlers zu senden. Der erstellte Auftrag wird dann in der vom Kunden ausgewählten Filiale kommissioniert und steht dem Kunden fertig zusammengestellt zur Abholung bereit.
Anhand der ausgearbeiteten Technologieanalyse wurde die Programmiersprache „Ruby on Rails“ zur Realisierung der Anwendung ausgewählt.
Die Diplomarbeit umfasst die Entwicklung einer Komplettlösung aus Webshop und Auftrags-Management, wie sie in einem Lebensmittelkonzern mit Filialen als Vertriebsstruktur eingesetzt werden kann.
Der Webshop bietet die auf Lebensmittel abgestimmte Einkaufs-Funktionalität. Der Schwerpunkt der Einkaufszusammenstellung ist dabei auf das Auffinden von Produkten ausgelegt. Dies beinhaltet sowohl die Produktsuche als auch die Kategorisierung sowie die semantische Verknüpfung von Lebensmitteln durch Tagging. Das Auftrags-Management dient der Verteilung der Aufträge auf die zur Kommissionierung ausgewählten Filialen und stellt dort über eine Web-Applikation die erforderlichen Ansichten und Funktionen bereit, um die Kundenaufträge bearbeiten zu können.
Inhaltsverzeichnis
- 1 Einleitung
- 2 Technologie- und Branchenanalyse
- 2.1 Wahl der Programmiersprache und eines Frameworks
- 2.1.1 Anforderungen
- 2.1.1.1 Plattformunabhängigkeit
- 2.1.1.2 Netzwerkunterstützung
- 2.1.1.3 Skalierbarkeit
- 2.1.1.4 Unterstützung verteilter Systeme
- 2.1.1.5 Design Pattern
- 2.1.1.6 Verschlüsselung
- 2.1.1.7 Test-getriebene Entwicklung
- 2.1.1.8 Open-Source
- 2.1.2 Die Kandidaten
- 2.1.2.1 Gemeinsamkeiten und Unterschiede
- 2.1.2.2 Vergleich der Frameworks
- 2.1.3 Fazit
- 2.2 Einblick in den Lebensmitteleinzelhandel (LEH)
- 2.2.1 Struktur des Lebensmitteleinzelhandels
- 2.2.2 Unternehmen auf dem deutschen Markt
- 2.2.3 Die Entwicklung des Online-Shoppings im Lebensmitteleinzelhandel
- 2.2.3.1 Eignung von Lebensmitteln für das Online-Shopping
- 2.2.3.2 Erfolgsanalyse von bestehenden Online-Shops
- 2.2.4 Analyse der Voraussetzungen von Online-Shops für Lebensmittel in Deutschland
- 2.2.4.1 Umweltanalyse
- 2.2.4.2 Branchenanalyse
- 2.2.4.3 Lieferantenanalyse
- 2.2.5 Zusammenfassung der Erkenntnisse über den Online-LEH in Deutschland
- 2.2.5.1 Nachfragerperspektive
- 2.2.5.2 Anbieterperspektive
- 2.2.5.3 Erfolgsaussichten
- 3 Anforderungen an die Anwendung
- 3.1 Anforderungen an das Frontend
- 3.1.1 Umgebung
- 3.1.1.1 Browseroptimierung
- 3.1.1.2 Bildschirmauflösung
- 3.1.2 Anforderungen
- 3.1.2.1 Registrierung und Anmeldung von Benutzern
- 3.1.2.2 Produktsuche
- 3.1.2.3 Warenkorb
- 3.1.2.4 Bestellvorgang
- 3.2 Anforderungen an das Backend
- 3.2.1 Datenbeschaffung
- 3.2.2 Client-Ausführungsumgebung
- 3.2.3 Auftrags-Status-Modell
- 3.2.4 Sitzungs- / Session-Verwaltung
- 3.2.5 Filial-Einstellungen
- 3.2.6 Auftragseingang
- 3.2.6.1 Auftragseingangsfilter
- 3.2.6.2 Auftragsauswahl
- 3.2.6.3 Ausklappbare Detailansicht
- 3.2.7 Auftragsbearbeitung
- 3.2.7.1 Artikelsortierung
- 3.2.7.2 Drucken
- 3.2.7.3 Liefermenge
- 3.2.7.4 Kundenbenachrichtigung
- 3.2.7.5 Verlinkte Kundenansicht
- 3.2.8 Kundensuche
- 3.2.9 Bestell- / Kundenrestriktionen
- 4 Lösungskonzept
- 4.1 Allgemein
- 4.1.1 Server-Umgebung
- 4.1.1.1 Hardware
- 4.1.1.2 Software
- 4.1.2 Domain Modell und Datenbankmodell
- 4.1.2.1 Der Kunde
- 4.1.2.2 Das Produkt
- 4.1.2.3 Der Auftrag
- 4.1.2.4 Produkt-Auftrag-Relation
- 4.1.2.5 Die Filiale
- 4.1.2.6 Öffnungszeiten
- 4.1.2.7 Organisation der Filialen nach ihrem Sortiment
- 4.1.3 Anpassung der Konfiguration
- 4.1.3.1 Gemeinsame Modellklassen
- 4.1.3.2 Gemeinsames Plugin-Verzeichnis
- 4.1.3.3 Einrichtung des Action Mailers
- 4.1.3.4 Speicherort der Sessions
- 4.2 Entwicklung des Frontends
- 4.2.1 Allgemeiner Aufbau des Shops
- 4.2.1.1 Aufteilung der Seite mittels Block-Elementen
- 4.2.1.2 Navigation und Aktualisierung mittels Ajax (Asynchronous JavaScript and XML)
- 4.2.1.3 Deaktiviertes JavaScript
- 4.2.2 Registrierung und Anmeldung von Benutzern
- 4.2.2.1 Installation
- 4.2.2.2 Abschluss der Installation
- 4.2.2.3 Customer-Modell
- 4.2.2.4 CustomerObserver und Mailer
- 4.2.2.5 Ablauf der Registrierung
- 4.2.2.6 Ablauf der Anmeldung
- 4.2.3 Suche von Filialen
- 4.2.3.1 Installation
- 4.2.3.2 Verwendung
- 4.2.4 Verwaltung und Suche von Produkten
- 4.2.4.1 Installation von „acts_as_taggable_on_steroids“
- 4.2.4.2 Installation und Anpassung von „will_pagination“
- 4.2.4.3 Erstellung und Zuweisung von Tags
- 4.2.4.4 Suche von Produkten
- 4.2.5 Warenkorb
- 4.2.6 Bestellvorgang
- 4.2.6.1 Details
- 4.2.6.2 Alles richtig?
- 4.2.6.3 Fertig
- 4.2.7 Plugin SimpleCaptcha
- 4.2.7.1 Installation
- 4.2.7.2 Verwendung
- 4.3 Entwicklung des Backends
- 4.3.1 Datenbeschaffung
- 4.3.2 Produktkategorien
- 4.3.2.1 Hersteller
- 4.3.2.2 Produkte
- 4.3.2.3 Filialdaten
- 4.3.2.4 Update-Intervall
- 4.3.3 Client-Ausführungsumgebung
- 4.3.4 JavaScript / Ajax / Prototype
- 4.3.5 Auftrags-Status-Modell
- 4.3.6 Sitzungs- / Session-Verwaltung
- 4.3.7 Filial-Einstellungen
- 4.3.8 Ersatz des Auftragsfilters durch Links in der Navigationsleiste
- 4.3.9 Auftragseingang
- 4.3.10 Auftragsbearbeitung
- 4.3.11 Auftragsabholung
- 4.3.12 Auftragskulanz
- 4.3.13 Auftragsstorno
- 4.3.14 Kundensuche
- 4.3.15 Bestell-/Kundenrestriktionen
- 4.3.16 Kundenbenachrichtigung
- Analyse der Anforderungen an einen Online-Shop für Lebensmittel
- Wahl der geeigneten Programmiersprache und des Frameworks
- Entwicklung eines Domain- und Datenbankmodells
- Implementierung von Frontend- und Backend-Funktionalitäten
- Bewertung der Ergebnisse und der Erfolgsaussichten des Projekts
Zielsetzung und Themenschwerpunkte
Diese Diplomarbeit befasst sich mit der Entwicklung eines Webshops für die Lebensmittelbranche auf Basis von Ruby on Rails. Das Ziel ist die Erstellung eines funktionsfähigen Online-Shops, der den Bedürfnissen der Kunden und der Lebensmittelhändler gerecht wird.
Zusammenfassung der Kapitel
Kapitel 1 bietet eine Einleitung in die Thematik und die Problemstellung. Kapitel 2 befasst sich mit der Technologie- und Branchenanalyse. Es werden verschiedene Programmiersprachen und Frameworks verglichen und die Anforderungen an einen Online-Shop für Lebensmittel beleuchtet. In Kapitel 3 werden die spezifischen Anforderungen an das Frontend und das Backend des Webshops definiert. Kapitel 4 präsentiert das Lösungskonzept, das die Architektur, das Domainmodell und die Implementierung des Webshops beschreibt.
Schlüsselwörter
Ruby on Rails, Webshop, Lebensmittelbranche, Online-Shopping, Frontend, Backend, Domainmodell, Datenbankmodell, Anforderungen, Entwicklung,
- Arbeit zitieren
- Daniel Mattes (Autor:in), Volker Kindermann (Autor:in), 2008, Entwicklung eines Webshops für die Lebensmittelbranche auf Basis von Ruby on Rails, München, GRIN Verlag, https://www.grin.com/document/118980