justin-penner / Strebinger_Mbengi_Penner_WS2223

0 stars 0 forks source link

Travelence - Die UrlaubsAPI

Gruppe - Christian Mbengi, Justin Penner & Paul Strebinger


Inhaltsverzeichnis

  1. Die Domäne
  2. Die Idee
  3. Domänenmodelle
  4. Unsere Zielsetzung
  5. Die Anwendungslogik
  6. Webservices, die wir nutzen
  7. Diskussion der Webservices
  8. Proof of Concept
  9. Setup
  10. REST-Schnittstellen
  11. Arbeitsmatrix


Die Domäne

Das Problemszenario

"Peter möchte mit seiner Frau Lois und seinen Kindern in den Urlaub fahren. Da ihm das Wohl seiner Familie sehr am Herzen liegt, möchte er sich ausreichend über Unterkünfte, Aktivitäten und Risiken vorort informieren. Nun hat er jedoch das Problem, dass sich die gesuchten Informationen stark unterscheiden und er weiß nicht, welchen Quellen er trauen soll."

Unsere Lösung

"Um sich überschneidene Informationen zu erhalten, nutzt Peter unsere API. Mit dieser kann er sich sowohl über die Inzidenzwerte und das Wetter informieren, als auch eine geeignete Unterkunft und damit verbundene Aktivitäten finden."


Die Idee

Das Hauptproblem unseres Szenarios ist, dass es zu viele verschiedene Informationen zu simplen Suchanfragen, welche durch den Nutzer getätigt werden, gibt. Um dieses Problem zu lösen, wollen wir vertrauenswürdige Quellen recherchieren und die gewonnen Informationen gebündelt darstellen.

Dazu möchten wir eine einfache API entwickeln, welche nur nützliche und angeforderte Daten in Form eines JSON-Objekts zurückgibt, sodass eine weitere Verarbeitung durch den Nutzer stark vereinfacht wird.


Domänenmodelle

Deskriptives Domänenmodell

Um den Umfang unserer Domäne leicht darstellen zu können haben wir ein deskriptives Domänenmodell erstellt, welches über die Aspekte unserer Domäne hinaus, wichtige Informationen enthält.

Deskriptives Domänenmodell

Präskriptives Domänenmodell

Nachdem wir recherche zu möglichen Lösungsansätzen betrieben haben, haben wir unser deskriptives Domänenmodell nochmal überarbeitet und Aspekte die für unsere API nicht interessant sind ausgegraut. Auf diese Weise ist das präskripive Domänenmodell entstanden.

Präskriptives Domänenmodell


Unsere Zielsetzung


Setup

Zunächst müssen Sie das Repository klonen. Dies können sie tun, indem sie den folgenden Befehl in Ihrem Terminal ausführen:

git clone https://github.com/justin-penner/Strebinger_Mbengi_Penner_WS2223.git


Im nächsten Schritt müssen Sie Node.js initialisieren. Dies können sie tun, indem sie den folgenden Befehl in Ihrem Terminal ausführen:

npm i


Anschließend müssen Sie noch die Datenbank aufbauen. Dies können sie tun, indem sie den folgenden Befehl in Ihrem Terminal ausführen:

docker-compose up --build


Um das Projekt auszuführen, gehen sie mit cd js in das Verzeichnis js und führen sie den folgenden Command in ihrem Terminal aus:

node app.js


Um eine Anfrage an unsere API zu stellen, müssen sie einen API-Key angeben. Dazu können sie den Key d2eee56f-8b93-4436-a920-d8756a8f5972 nutzen oder einen neuen generieren, indem sie sich einen Account erstellen.