Webentwicklung - Meilenstein 4

Es ist entweder die "Einfache Aufgabe" oder die "Komplexe Aufgabe" zu bearbeiten. Die einfache Aufgabe beschränkt sich auf Implementierungen im Web-Frontend. Die komplexe Aufgabe erfordert Implementierungen sowohl im Frontend als auch im Backend.

Einfache Aufgabe (Mindestleistung im Meilenstein)

Das Java-Backend im Webprojekt swXercise liefert eine REST-Schnittstelle mit verschiedenen REST-Methoden. Die drei Methoden loginUser(UserDto dto), logoutUser() und getUser() sollen durch Dialoge im Frontend mittels JavaScript verwendet werden:

  • Ein Dialog zur Benutzeranmeldung verlangt die Eingabe von Benutzername und Kennwort und authentifiziert den Benutzer im Backend. Es erscheint eine Fehlermeldung, falls der Benutzer nicht authentifiziert werden konnte oder vorher bereits authentifiziert war.
     
  • Ein Dialog zur Benutzerabmeldung meldet den angemeldeten Benutzer wieder ab. Der Dialog darf nicht aufrufbar sein, falls kein Benutzer angemeldet ist.
     
  • Eine zu diesem Zweck neu zu erstellende Profilseite zeigt die Profilinformationen des zurzeit angemeldeten Benutzers an.

Komplexe Aufgabe (für Fortgeschrittene)

In dem von Ihnen im zweiten und dritten Meilenstein bearbeiteten Software-Webprojekt gibt es eine Angebotsseite, in der "Dinge verwaltet werden".

  • Implementieren Sie einen einfachen Geschäftsprozess, der die Erfassung eines weiteren "Dings" in einem HTML-Formular im Webbrowser zulässt (auf die Erfassung eines Fotos können Sie verzichten). Natürlich soll die Angebotsseite das soeben neu erfasste "Ding" dann auch gleich anzeigen.
     
  • Persistieren Sie das erfasste "Ding" mittels JavaScript im Frontend und einer neu zu implementierenden REST-Methode im Java-Backend. Erweitern Sie zu diesem Zweck das Java-Projekt swXercise. Orientieren Sie sich dabei an den bereits vorhandenen Controllers (z.B. ui.UserViewController), Services (z.B. lg.user.service.UserService) und DAOs (z.B. db.dao.user.UserDao).
     
  • Laden Sie beim Öffnen Ihres Software-Webprojekts die bereits persistierten "Dinge" mittels eines REST-Zugriffs auf das Java-Backend in die Angebotsseite. Auch hierfür ist von Ihnen eine REST-Methode zu implementieren.

Abgabe

Die Abgabe besteht aus der Live-Demonstration Ihres Webprojekts auf einem Notebook während der Übungszeit, sowie einer elektronischen Abgabe des gesamten Codes.

Der HTML-Code wird in einem Git-Repository der Hochschule abgelegt (bitte nicht als GitHub-Projekt!). Ihr Dozent benötigt natürlich (lesenden) Zugriff auf das Projekt. Kreieren Sie zur Abgabezeit einen Git-Branch. Der Timestamp des letzten Commits in diesem Branch darf nicht nach dem vereinbarten Abgabetermin erfolgen. Anderenfalls kassieren Sie einen Notenabzug.