https://github.com/jonathanxdr/uek-223
Multi-User Applikationen objektorientiert realisieren
https://github.com/jonathanxdr/uek-223
Last synced: 8 months ago
JSON representation
Multi-User Applikationen objektorientiert realisieren
- Host: GitHub
- URL: https://github.com/jonathanxdr/uek-223
- Owner: JonathanXDR
- Created: 2023-09-04T08:43:04.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T14:15:48.000Z (over 2 years ago)
- Last Synced: 2025-02-06T01:54:07.825Z (over 1 year ago)
- Language: HTML
- Homepage:
- Size: 271 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Coworking Space
Dieses Projekt ist ein System für Buchungen eines Coworking Spaces, welches mit Quarkus entwickelt wird.
## Datenbank
Die Daten werden in einer PostgreSQL-Datenbank gespeichert. In der Entwicklungsumgebung wird diese
in der [docker-compose-yml](./.devcontainer/docker-compose.yml) konfiguriert.
### Datenbankadministration
Über 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`
## Automatische Tests
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.
## Entwicklungsumgebung
Die Entwicklungsumgebung ist in [Development Containern](https://containers.dev/) organisiert.
### Einrichtung
Die Development Container können auf zwei Wege gestartet werden:
- Mit der Visual Studio Code Extension [Dev Containers](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers).
Die nötigen Dienste starten automatisch.
- Mit Docker Compose, die Datei ist in `.devcontainer/docker-compose.yml` zu finden
### Starten
Gestartet werden kann das Projekt mit der Quarkus Visual Studio Code Extension über den
Befehl `Quarkus: Debug current Quarkus project`.
Alternativ kann das Projekt auch direkt über Maven gestartet werden.
```bash
./mvnw quarkus:dev
```
### Ports
Die folgenden Ports sind in der Entwicklungsumgebung verfügbar:
Webservice:
PgAdmin:
Swagger UI:
### Testdaten
Es ist sind zwei Testdatensets definiert, welche automatisch für die jeweilige Umgebung geladen werden.
TestDataService.java: `src/main/java/ch/zli/m223/service/TestDataService.java` TestDataServiceTest.java: `src/test/java/ch/zli/m223/service/TestDataServiceTest.java`
## Abweichungen der Planung
1. Bei jeder Route wurde der HTTP-Statuscode 403 (Forbidden) hinzugefügt, falls die erforderlichen Berechtigungen nicht vorhanden sind. Dies ist in der Planung vergessen gegangen.
2. Der Rückgabewert der Post & Put-Methoden wurde von `String` auf den entprechenden Entity geändert, damit man die erstellte/aktualisierte Entity direkt zurückbekommt.