-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Im Folgenden werden wir euch durch unsern gesamten Projekt Prozess führen und euch zeigen wo im wiki ihr weitere Ausführungen zu den einzelnen Meilensteinen Finden.
Die Begründung für unsere Designe Entscheidungen haben wir in diesem Stiel festgehalten.
Um unser Projektidee zu finden, haben wir per Brainstorming mehrere Probleme aus unserem Alltag gesammelt und uns für eines entschieden. Zu diesem haben wir ein Problemszenario erstellt, bei dem wir uns auch schon damit beschäftigt haben, wie das System heißen soll und welche Grundfunktionalität es haben soll.
Unser Ziel wahr es einen Service zu bauen, den wir in unserem eigenden Alltag auch verwenden könnten.
Unter Berücksichtigung des Problemszenarios haben wir dann ein Domänenmodell aufgebaut, welches wir durch mehrere Iterationen des Domänenmodell konkretisiert haben.
Eine Vorgabe des Projektes war die Einbindung eines externen Webservices. Unsere Wahl ist auf Google Firebase gefallen. Vorher haben wir unsere mehrere alternative Webservices angeschaut und abgewägt, welche bei der Lösung des Problemszenarios helfen könnten. Mit dem Proof of Concept haben wir sichergestellt, dass Google Firebase grundlegend die Funktionalität mitbringt, die wir benötigen. Im Verlauf des Projektes haben wir jedoch festgestellt, dass wir Erweiterungen an der Implementierung des Services vornehmen müssen.
Nachdem wir die Findung von Domänen und Web Service abgeschlossen hatten, haben wir die Modellierung der Ressourcen auf Basis von REST vorgenommen. Innerhalb der Umsetzung haben sich die Ressourcen (analog zum Domänenmodell) verändert, sodass wir mehrere Iterationen der Ressourcen bearbeitet haben.
Bei älteren Iterationen der Ressourcen hatten wir das Problem, dass unsere Verschachtelung von Recourcen zu granular wahr. wir legten zum beispiel vor für jeden "User" eines Event eine eigene "Wishlist" an. so kam zu folgender Domain: "events/(eventID)/wishlists/(wishlistID)". Wir speicherten die "Wishes" als Eintrag eines Arrays in der "Wishlist". So konnte man seine "wishlist" nur bearbeiten in dem man die vorherige überschrieb. In den Neueren Iterationen wurde jeder "wish" dann als eigenes Dokument in einer Collection geposted und konnte somit eigenständig bearbeitet werden. Zudem haben wir nur noch eine "wishlist" (wishes) für alle User. und die verlinkung zum User wird über ein Feld in dem Dokument gelöst, was die länge der URIs ein wenig verkürzt.
Außerdem haben wir überlegt, wie wir Publish und Subscribe mit Faye in unser System integrieren können. Eine Umsetzung dieser Funktionalität ist Planung für die Verbesserungszeit in den Ferien.
Um einen Überblick über die Datenstruktur zu erhalten, haben wir aufgelistet, in welcher Weise unsere Daten innerhalb der JSON Strukturen gespeichert werden.
Für die Vorstellung des Projektes war es unsere Aufgabe Use Cases zu definieren, die auf Basis des Problemszenarios mit dem System lösbar sind.
Abschließend haben wir ein Fazit und offene Punkte verfasst. Die Verteilung der Arbeit innerhalb des Projektes befindet sich in der Arbeitsmatrix.