Skip to content

mi-classroom/mi-web-technologien-beiboot-ss2024-denwae

Repository files navigation

Review Assignment Due Date

Web Technologien // begleitendes Projekt Sommersemester 2024

Zum Modul Web Technologien gibt es ein begleitendes Projekt. Im Rahmen dieses Projekts werden wir von Veranstaltung zu Veranstaltung ein Projekt sukzessive weiter entwickeln und uns im Rahmen der Veranstaltung den Fortschritt anschauen, Code Reviews machen und Entwicklungsschritte vorstellen und diskutieren.

Als organisatorischen Rahmen für das Projekt nutzen wir GitHub Classroom. Inhaltlich befassen wir uns mit einer Client-Server Anwendung mit deren Hilfe Bilder mit Langzeitbelichtung sehr einfach nachgestellt werden können.

Warum ist das cool? Bilder mit Langzeitbelichtung sind gar nicht so einfach zu erstellen, vor allem, wenn man möglichst viel Kontrolle über das Endergebnis haben möchte. In unserem Ansatz, bildet ein Film den Ausgangspunkt. Diesen zerlegen wir in Einzelbilder und montieren die Einzelbilder mit verschiedenen Blendmodes zu einem Bild mit Langzeitbelichtungseffekt zusammen.

Dokumentieren Sie in diesem Beibootprojekt Ihre Entscheidungen gewissenhaft unter Zuhilfenahme von Architectual Decision Records (ADR).

Hier ein paar ADR Beispiele aus dem letzten Semestern:

Halten Sie die Anwendung, gerade in der Anfangsphase möglichst einfach, schlank und leichtgewichtig (KISS).


Projektorganisation

Entwickler: Dennis Wäckerle

Reviewer: Methusshan Elankumaran

Der Workflow kann hier nachgelesen werden. Der Aufwand für die einzelnen Features kann hier gefunden werden.


Running the project

Es gibt zwei Möglichkeiten, um die Anwendung auszuführen: Docker und Lokal.

Docker

Für das Ausführen wird Docker benötigt. Am einfachsten ist es Docker Desktop zu installieren. Alternativ kann auch nur die Docker Engine und die Docker Compose Plugin installiert werden, wenn ein Linux OS genutzt wird.

Voraussetzungen

Starten

Es ist am einfachsten die Anwendung per Docker Compose auszuführen. Dafür muss folgender Befehl, in der Project Root ausgeführt werden:

docker compose up -d

Alternativ können die Imagtes zuerst gebaut werden:

docker compose up -d --build

Das Frontend ist unter http://localhost:5173 erreichbar. Das Backend kann nur über http://localhost:8080 erreicht werden.

Local

Alternativ kann die Anwendung lokal ausgeführt werden. Dafür muss das Frontend und Backend einzeln gestartet werden.

Backend

Voraussetzung

Eine Java 21 JDK ist nötig, um die Anwendung lokal auszuführen.

Starten

Um das Backend zu starten, muss im backend Ordner folgender Befehl ausgeführt werden:

./gradlew bootRun

Das Backend ist unter http://localhost:8080 zu erreichen.

Frontend

Voraussetzungen

Für das Frontend wird Node >= 18.13 und NPM benötigt.

Starten

Das Frontend wird über NPM gestartet. Im frontend Ordner müssen die Dependencies mit npm installinstalliert werden. Danach kann das Frontend mit npm run dev gestartet werden.

Das Frontend ist unter http://localhost:5173 zu erreichen.