Zur Bearbeitung dieser Aufgabe wird folgende Software benötigt:
- Java 11
- gradle 7.3.x
- node 16.11.x
Sie werden im Rahmen dieser Aufgabe eine simple Webanwendung implementieren, die dem User zufällige Chuck Norris Sprüche anzeigt.
-
Forken und Clonen Sie dieses Repository
-
Starten Sie die Spring Boot Anwendung. Rufen Sie in Ihrem Browser oder Postman die URL
http://localhost:8080/actuator/healthauf. Wird Ihnen{"status":"UP"}angezeigt, ist Ihre Anwendung erfolgreich gestartet. -
Starten Sie die Vue App. Führen Sie dazu, ausgehend vom Projektverzeichnis, folgende Befehle sequentiell aus:
cd frontend
npm install
npm run serve- Navigieren Sie in Ihrem Browser zur Adresse
http://localhost:3000. Ihnen sollte die folgende Seite angezeigt werden:
-
Implementieren Sie das Interface
QuotesService. Die Implementierungsdetails entnehmen Sie bitte dem JavaDoc. -
Implementieren Sie einen Rest-Controller, deren Endpunkt Sie anschließend aus einer Vue-Komponente aufrufen, um einen zufälligen Chuck Norris Spruch zu laden. Berücksichtigen Sie folgende Details:
- der Controller soll die Implementierung des Interfaces
QuotesServicebenutzen, um sich einen Chuck Norris Spruch zu holen - der Endpunkt soll unter
/api/v1/quotesund viaGETerreichbar sein - der Client übermittelt den Index via Request-Parameter
index, also z.B./api/v1/quotes?index=53 - Verwenden Sie für die Rückgabe die Klasse
QuoteResponse(ggf. mitResponseEntityals Wrapper) - der Endpunkt soll dem Client ein JSON liefern
- der Controller soll die Implementierung des Interfaces
-
Es existiert mit der Komponente
ChuckNorrisQuote.vuebereits eine Vue-Komponente, die aktuell jedoch keine Dynamik aufweist. Implementieren Sie die MethodeloadRandomQuote(). Rufen Sie in der Methode Ihren Rest-Endpunkt auf. Verwenden Sie die MethodegetRandomInt(), um Zufallszahlen zu erzeugen. Die ObergrenzemaxExclusivemuss 79 sein, da es nicht mehr Quotes im Backend gibt. Sobald die Seite neu geladen wird, soll ein neuer Spruch geladen und angezeigt werden. -
Erweitern Sie die Vue-Komponente wie folgt: Sobald der User auf Chuck Norris klickt, soll ein neuer Spruch angezeigt werden.
-
Implementieren Sie eine Route zur View
AboutMe.vue. -
Erstellen Sie im Ordner
frontend/src/componentseine neue Vue-KomponenteAboutMeDetails.vue. Diese Komponente soll Details über Sie anzeigen, z. B. Ihren Namen und Ihre Matrikelnummer. Sie können hier aber gener kreativ sein. Verwenden Sie mind. 3 CSS-Attribute für das Syling. -
Verwenden Sie Ihre soeben erstellte Komponente in der View
AboutMe.vueanalog zur ViewAboutChuck.vue. -
Testen Sie alle Funktionalitäten Ihrer Vue App im Browser.
-
Implementieren Sie mind. 1 Unit-Test für das Frontend.
-
Implementieren Sie mind. 1 Unit-Test für das Backend.
