Punch Clock ist ein Zeiterfassungssystem, welches mit Quarkus entwickelt wird.
- Erstelle eine Kopie (fork) von diesem Projekt.
- Stelle sicher, dass Docker installiert ist und läuft.
- Stelle sicher, dass Visual Studio Code und die Erweiterung Remote Container installiert ist.
- Klone (clone) das Projekt lokal, um damit arbeiten zu können.
- Öffne das Projekt mit Visual Studio Code.
- Öffne das Projekt im Entwicklungscontainer.
- Starte das Projekt mit dem Kommando
Quarkus: Debug current Quarkus Project - Probiere die Client-Applikation unter http://localhost:8080 aus.
- Schaue die API auf http://localhost:8080/q/swagger-ui/ an.
Die Daten werden in einer PostgreSQL-Datenbank gespeichert. In der Entwicklungsumgebung wird diese in der docker-compose-yml konfiguriert.
Über http://localhost:5050 ist PgAdmin4 erreichbar. Damit lässt sich die Datenbank komfortabel verwalten. Der Benutzername lautet zli@example.com und das Passwort zli*123. Die Verbindung zur PostgreSQL-Datenbank muss zuerst mit folgenden Daten konfiguriert werden:
- Host name/address:
db - Port:
5432 - Maintenance database:
postgres - Username:
postgres - Password:
postgres
Die automatischen Tests können mit ./mvnw quarkus:test ausgeführt werden. Für die automatischen Tests wird nicht die PostgreSQL-Datenbank verwendet, sondern eine H2-Datenbank, welche sich im Arbeitsspeicher während der Ausführung befindet.
Leider gibt es einen Fehler um alle Tests einer Klasse auszuführen. Der Fehler scheint mit einer inkompatiblen Version von JUnit in der vscode-java-test-Extension zu entstehen. Es ist möglich JUnit manuell zu aktualisieren:
cd /home/vscode/.vscode-server/extensions/vscjava.vscode-java-test-0.43.1/server
wget https://repo1.maven.org/maven2/org/eclipse/jdt/org.eclipse.jdt.junit5.runtime/1.1.400/org.eclipse.jdt.junit5.runtime-1.1.400.jar
rm org.eclipse.jdt.junit5.runtime_1.1.300.v20231214-1952.jar
mv org.eclipse.jdt.junit5.runtime-1.1.400.jar org.eclipse.jdt.junit5.runtime_1.1.300.v20231214-1952.jar