Produktkonfigurator auf welcher Grundlage erstellen?

sp4tzel

Cadet 1st Year
Registriert
Okt. 2014
Beiträge
13
Hallo zusammen,
ich befinde ich momentan im Pflichtpraktikum meines Studiums. Ich habe schon jeweils ein Semester mit C (prozedural) und C++ (objektorientiert) Erfahrungen machen dürfen. Hierbei ging es aber niemals um Webdesign oder ähnliches.
Des Weiteren habe ich in der Schule auch mal mit php, HTML und CSS zu tun gehabt. Aber eher auf Kindergartenniveau.

Zu meiner Aufgabe gehört es, eine Art Produktkonfigurator für die interne Nutzung (also kein BlingBling für Kunden notwendig) zu erstellen. Habe im Internet ein schönes Projekt gefunden, das mir vom Aufbau her sehr gut gefällt: http://traxxtour.bt.ab2ls.ch/#
Nach dem Klick auf die linke Schaltfläche erreicht man den für mich interessanten Teil:
Man hat eine Vorauswahl, bei der man beliebig (abhängig von der Verfügbarkeit) kombinieren kann. Anschließend kann man zusätzlich noch nach verschiedenen Optionen filtern, sofern es zu viele Ergebnisse gibt. Klickt man ein Ergebnis an, kriegt man allerlei nützliche Informationen und weiterführende Links zur Verfügung gestellt.
Zusätzlich zu dieser Vorlage hätte ich gerne noch eine Suchleiste auf der ersten Seite, die es mir ermöglicht nach einem bestimmten Produkt, oder einer Eigenschaft zu suchen (zum Beispiel "Polo", "Passat" oder "95 kW").
Für den Anfang wäre es wohl ausreichend, wenn bei der Vorauswahl keine schicken Buttons mit Farbe, sondern einfache Checkboxes mit Text daneben, benutzt würden.

Ich denke, dass ich für meine Aufgabe HTML, php und eine mySQL-Datenbank brauche. Vielleicht auch ein Content Management System, da ich ja nicht so viel Ahnung von mySQL habe.

Gäbe es noch bessere Alternativen?
Und welche Programme würdet ihr mir empfehlen, zur Bearbeitung?
Meine Erfahrung mit C kann ich nicht einfließen lassen, oder?
 
Hallo,

Als Grundlage würde ich eine Datenbank wählen. Eine sinnvolle Struktur erleichtert das Arbeiten im Nachhinein.
Also mach dir Gedanken über die "Eigenschaften" der Produkte und versuche Redundanzen in der Datenbank zu vermeiden.
Schau dir verschiedene Produkte an und versuche Gemeinsamkeiten und Unterschiede zu finden.
Lies dich in die Grundlagen der Datenbanken ein.
(Bei meinem letzten derartigen Projekt, was zugegeben schon eine Weile her ist, habe ich einen Großteil der Zeit in die Strukturierung der Datenbank gesteckt, deutlich mehr als in die Gestaltung der Programmoberflächen)

Ist die Datenbank erstellt, muss sie natürlich mit Inhalten gefüllt werden.
Das ist oft eine mühsame Aufgabe. (Schülerpraktikanten (sind meist 1-2 Wochen im Unternehmen) sind hierfür dankbare "Opfer".
Da die Datenbank wahrscheinlich auch durch Nichtinformatiker gepflegt werden muss, ist eine grafische Schnittstelle zum befüllen, ändern und löschen von Datensätzen vermutlich notwendig.
Hier gilt es auch, den Nutzer zu unterstützen, bzw. das ganze möglichst DAU-kompatibel zu halten.
Ich will damit sagen, gestalte die Oberflächen so, dass Fehleingaben selten bis gar nicht vorkommen.

[Beispiel:
Die Produkteigenschaft Preis ist ein Zahlenwert, meist mit nicht mehr als zwei Nachkommastellen.
Also ist in der Datenbank der entsprechende Datentyp zu wählen.
Aber man kann auch in der Oberfläche schon Fehleingaben verhindern, indem man keine Buchstaben zulässt
und nur positive Zahlen mit maximal zwei Nachkomastellen als gültige Eingabe erlaubt.]

Die eigentliche Nutzeroberfläche (Weboberfläche, Programmoberfläche auf anderer Basis) greift ja dann nur noch auf die Datenbank zu, liest die verschiedenen Optionen aus und stellt diese dar.
Weboberflächen benötigen auch einen Webserver, der diese bereit stellt.

Ich sags mal so, man könnte das als Einzelplatzlösung auch mit einer MS Access Datenbank und passenden Formularen lösen.

Da du das Praktikum vermutlich in einem Unternehmen absolvierst, sollten dir dort entsprechende Entwicklertools
(Visual Studio, MS SQL Server, ...) gestellt werden.

Es muss ja auch eine Art Praktikumsbetreuung erfolgen (war zumindest damals bei mir so).
Vielleicht hast du einen Ansprechpartner, der dir Hilfestellung geben kann oder dir beim Finden eines passenden Konzepts hilft.

Ich denke, ich habe Ansätze geliefert, was du draus machst bleibt dir überlassen.

Noch eine persönliche Anmerkung zum Schluss:
Welchen Studiengang hast du belegt?
Die Aufgabe ist etwas für einen Informatikstudenten, oder Fachinformatiker-Azubi.
Diese Ausbildungsgruppen wüssten jedoch, wie man solch eine Aufgabe angeht und löst.

Stell dir selbst die Frage, ob die Aufgabe wirklich deinem Studiengang entspricht und dich weiter bringt.
Eventuell gibt es Aufgaben, die mit deinem bisher erworbenem Wissen besser zu lösen sind.

Bitte nicht falsch verstehen, aber deine Fragen lesen sich nicht so, als hättest du schon größere Erfahrungen mit dem Erstellen von Software. Gerade das Thema Datenbanken gehört zu den Grundlagen einer Ausbildung oder einem Studium im Bereich Informatik.

Viele Grüße
 
Hallo judas,

vielen Dank, dass du dir die Mühe gemacht hast und mir einen ausführlichen Ansatz geliefert hast! Ich werde mich bemühen das umzusetzen. Würdest du mir eher empfehlen ein open-source-CMS zu benutzen, das ja schon eine Eingabemaske für Daten hat, oder die Neuerstellung einer mySQL-Datenbank?

Was meine Erfahrungen mit Informatik angeht, muss ich dich leider enttäuschen. Ich habe zwar in der Schule mal ein halbes Jahr mit mysql, php, HTML und so einem virtuellen apache-Server spielen dürfen, bin aber weder Informatiker, noch studiere ich es.
Ich studiere Mechatronik (für alle die nicht wissen was das ist: Ich bin nach meinem Abschluss kein studierter Mechaniker und kann auch keine Autos reparieren), mit Vertiefungsrichtung Maschinenbau. Wie schon beschrieben, habe ich bereits ein Semester prozedural in C und ein Semester objektorientiert in C++ programmiert. Ein Semester habe ich auch auf einem Mikrokontroller abwechselnd in C und Assembler programmiert.
Währenddessen bin ich aber nie mit der Gestaltung einer Web- oder Programmoberfläche in Berührung gekommen.

Natürlich entspricht diese Aufgabe nicht meinem eigentlichen Studiengang (wobei Mechatronik, zumindest bei uns sehr viel Informatik enthält).
Eigentlich war geplant, dass diese Aufgabe ein externes Unternehmen übernimmt, da das Tool auch bei Messen, Kundenbesuchen und evtl online erreichbar sein sollte. Leider fehlt zumindest für dieses Jahr das Budget für solche "Spielereien".
Andere Aufgaben, die meinem "Leistungsprofil" besser entsprechen habe ich natürlich auch. Die Betreuung ist sogar sehr gut (zumindest viel besser als bei manchen Kommilitonen). Dennoch wäre es natürlich toll, wenn ich zumindest einen rudimentären Prototypen erstellen könnte, damit meine Hauptaufgabe zumindest teilweise zu einem Abschluss kommt.


Also nochmals vielen Dank für die Hilfe und viele Grüße

Nachtrag (16:05 Uhr):
Ich habe nun via XAMPP eine Datenbank mit einer Tabelle von 27 Spalten erstellt und mittlerweile ein Beispielprodukt und ein reelles Produkt eingetragen (das macht wirklich viel Arbeit!). Da es sich ja um einen Prototypen handeln wird, reicht das wohl.
Der nächste Schritt wäre dann eine grafische Oberfläche zu erstellen, hierfür habe ich mir BlueGriffon herausgesucht und würde HTML5 benutzen.
Sobald ich dann die Vorauswahl grafisch dargestellt habe würde ich mittels PHP eine kleine Funktion schreiben, die dann das Ergebnis der angeklickten Checkboxes mit der Datenbank abgleicht (haben wir so etwas?) und dann die Namen der zutreffenden Produkte auf einer anderen Seite ausspuckt.
 
Zuletzt bearbeitet:
sp4tzel schrieb:
Zu meiner Aufgabe gehört es, eine Art Produktkonfigurator für die interne Nutzung (also kein BlingBling für Kunden notwendig) zu erstellen.
Wie viel Eigenleistung soll es denn sein? Im einfachsten Fall schnappste dir ein Open Source Shopsystem wie Magento oder Contao Isotope. Das "konfiguriert" dir dann deine Produkte, musst bloß noch ein stylisches Layout drauf klatschen.
Oder solls etwas mehr sein? Evtl erstellst du was eigenes auf Basis von Contao MetaModels.

Wenns alles Eigenleistung sein soll, dann schnapp dir ein gutes Framework, z.B. Symfony2, und bau alles selbst. Datenstruktur entwerfen, Workflow für User und Admins entwerfen und daraus dann die notwendigen Ein- und Ausgabemasken schreiben.
 
Hallo Daaron,
vielen Dank für deinen Hinweis.
Habe mir mal mithilfe eines Tutorials contao auf meinen Server aufgespielt und schon einige Sachen eingerichtet. Leider erschließt sich mir nicht so ganz der Nutzen von MetaModels. Trotzdem habe ich das Gefühl, dass contao nicht das ist was ich brauche. Ich hätte gerne eine Produktseite (also nachdem man sich eines mittels Filter und anklicken ausgewählt hat, deren Layout fest steht, aber der Inhalt nur über Funktionen aus der Datenbank abgeholt wird. Das nennt man dann doch auch dynamische Website, oder? Sonst müsste ich ja für jedes Produkt eine Seite erstellen.
Oder ist das genau der Funktionsumfang von MetaModels?

Grüße
 
Doch, genau das bietet MetaModels. Schau doch mal in das Showcase metamodels.me, da hast du viele interessante Seiten, die die Möglichkeiten der Extension verdeutlichen.

Du kannst aber auch eine eigene Extension schreiben. Was du brauchst ist ein DCA-Record (=> Datenstruktur = Backend) und ein Frontend-Modul für Auflisten & Detaildarstellung.
 
Zurück
Oben