Changes for page Basisprojekt
Last modified by Marco Grawunder on 2026/09/08 10:20
From version 65.1
edited by Marco Grawunder
on 2026/08/26 10:13
on 2026/08/26 10:13
Change comment:
There is no comment for this version
To version 63.1
edited by Marco Grawunder
on 2026/08/25 15:36
on 2026/08/25 15:36
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -1,11 +1,7 @@ 1 1 [[image:Main.Organisatorisches.WebHome@softwareprojekt_logo_transparent.png||alt="SoftwareprojektLogo.png" data-xwiki-image-style-alignment="end" height="136" width="309"]] 2 2 3 3 {{info}} 4 -**Worum geht es auf dieser Seite?** 5 - 6 -Diese Seite erklärt den **Einstieg in das bereitgestellte Basisprojekt** und die darin verwendete Client-Server-Kommunikation. Behandelt werden insbesondere Einrichtung und Build, Spring, REST/OpenAPI, DTOs sowie WebSockets/STOMP. 7 - 8 -Das Basisprojekt verwendet mindestens **Java 21**. Screenshots können sich bei neueren Versionen optisch unterscheiden. 4 +Diese Seite erklärt den Einstieg in das bereitgestellte Basisprojekt und die darin verwendete Client-Server-Kommunikation. Das Basisprojekt verwendet mindestens **Java 21**. Screenshots der IDE oder von GitLab können sich bei neueren Versionen optisch unterscheiden; die beschriebenen Arbeitsschritte bleiben davon in der Regel unberührt. 9 9 {{/info}} 10 10 11 11 {{toc/}} ... ... @@ -35,8 +35,6 @@ 35 35 36 36 == Access Token == 37 37 38 -{{expandable summary="Schritt-für-Schritt: Access Token einrichten"}} 39 - 40 40 Beim ersten Git-Zugriff über HTTPS werden Zugangsdaten benötigt. Statt des normalen Passworts sollte ein persönlicher **Access Token** verwendet werden. Öffnen Sie dazu Ihr Profilbild, wählen Sie **Edit profile** und anschließend **Access tokens**. 41 41 42 42 [[image:1757398899497-714.png||height="246" width="278"]] ... ... @@ -57,9 +57,9 @@ 57 57 Kopieren und speichern Sie das erzeugte Token unmittelbar. Es wird nach der Erstellung nicht erneut vollständig angezeigt. **Tokens dürfen niemals in das Repository eingecheckt werden.** 58 58 {{/warning}} 59 59 60 -Beim **Einloggen **(Achtung! Gemeint ist hier, wenn Intellij (bzw. git) nach den Account-Daten beim Clonen fragt. Man kann auch einen Gitlab-Account hinterlegen (der dann aber parallel existiert). Hier für ist es wichtig, dass noch "api" und "read_user" als Recht vergeben wird.) in IntelliJ können Sie dieses Token im Passwort-Feld verwenden. Geben Sie ihren Account bei Name ein. 61 -{{/expandable}} 54 +Beim **Einloggen **(Achtung! Gemeint ist hier, wenn Intellij (bzw. git) nach den Account-Daten beim Clonen fragt. Man kann auch einen Gitlab-Account hinterlegen (der dann aber parallel existiert). Hier für ist es wichtig, dass noch "api" und "read_user" als Recht vergeben wird.) in IntelliJ können Sie dieses Token im Passwort-Feld verwenden. Geben Sie ihren Account bei Name ein. 62 62 56 + 63 63 == Nach dem Klonen == 64 64 65 65 sollten Sie einen Bildschirm ähnlich zu dem folgenden sehen: ... ... @@ -107,8 +107,6 @@ 107 107 108 108 == Logging umstellen == 109 109 110 -{{expandable summary="Schritt-für-Schritt: Logging konfigurieren"}} 111 - 112 112 Wenn man möchte, kann man das Logging umstellen. 113 113 114 114 [[image:1755246135109-325.png]] ... ... @@ -118,12 +118,9 @@ 118 118 119 119 120 120 [[image:1755246162330-595.png]] 121 -{{/expandable}} 122 122 123 123 == Development-Profil aktivieren == 124 124 125 -{{expandable summary="Schritt-für-Schritt: Development-Profil aktivieren"}} 126 - 127 127 Für lokale Tests existiert das Spring-Profil `dev`. Darin werden automatisch vorbereitete Testnutzer (`user1` bis `user9`) angelegt, sodass nicht für jeden Testlauf neue Konten registriert werden müssen. 128 128 129 129 Wenn man die Anwendung einmal gestartet hat, kann man dies Configuration anpassen: ... ... @@ -140,7 +140,6 @@ 140 140 [[image:1755248752596-839.png]] 141 141 142 142 Danach muss man den Server neu starten! 143 -{{/expandable}} 144 144 145 145 == Client starten == 146 146 ... ... @@ -161,8 +161,6 @@ 161 161 162 162 === Mehrere Instanzen des Clients ermöglichen === 163 163 164 -{{expandable summary="Schritt-für-Schritt: mehrere Client-Instanzen starten"}} 165 - 166 166 Standardmäßig erlaubt IntelliJ nicht das Starten mehrerer Clients. Man könnte nun mehrere Configurations für den Client anlegen. Man kann aber auch in der Konfiguration unter "Modify options" den Haken bei "Allow multiple instances" setzen. Dann kann eine beliebige Anzahl von Clients gestartet werden. 167 167 168 168 [[image:1755246233218-893.png]] ... ... @@ -171,8 +171,8 @@ 171 171 Falls die Anmeldung eines vorbereiteten Testnutzers fehlschlägt, prüfen Sie insbesondere, ob das `dev`-Profil aktiv ist und der Benutzer angelegt wurde. Läuft der Server nicht, erscheint in der Regel eine andere Fehlermeldung. 172 172 173 173 [[image:1755246292057-581.png]] 174 -{{/expandable}} 175 175 161 + 176 176 = Überblick über das Basisprojekt = 177 177 178 178 [[image:1755249096987-249.png]] ... ... @@ -247,8 +247,6 @@ 247 247 248 248 = Erweiterung der REST-Schnittstelle = 249 249 250 -{{expandable summary="Ausführliches Beispiel: REST-Schnittstelle erweitern"}} 251 - 252 252 In diesem Beispiel wird einmal gezeigt, wie die REST-Schnittstelle des Basisprojektes einfach erweitert werden kann. 253 253 254 254 In diesem Beispiel soll die aktuelle Schnittstelle um die Möglichkeit erweitert werden, alle Lobbies vom Server zu bekommen. ... ... @@ -368,8 +368,8 @@ 368 368 [[image:1756890010118-149.png||height="116" width="972"]] 369 369 370 370 Anmerkung: Obwohl DefaultApi alle Funktionen zum Server kapselt, sollte man im Client spezifische Services für bestimmte Bereich haben, die diese Klasse verwenden. Das führt zu einer besseren Trennung von Funktionalitäten im Code. 371 -{{/expandable}} 372 372 356 + 373 373 = Asynchrone Kommunikation zum Client: WebSockets = 374 374 375 375 [[image:1756890800817-370.png||height="604" width="1121"]] ... ... @@ -448,8 +448,6 @@ 448 448 449 449 == Wie verbindet sich ein Client mit dem Server? == 450 450 451 -{{expandable summary="Technische Details zum Verbindungsaufbau"}} 452 - 453 453 Der `UserService` bietet die Anmeldung an. Im Basisprojekt erfolgt sie beim Aufbau der WebSocket-/STOMP-Verbindung; die Zugangsdaten werden dabei über die bestehende Sicherheitskonfiguration geprüft. 454 454 455 455 [[image:1756891512330-186.png||height="170" width="820"]] ... ... @@ -476,11 +476,3 @@ 476 476 3) Über den Kontext ein Event pushen LoggedInEvent 477 477 478 478 4) Jede Serververbindung hat eine Session 479 -{{/expandable}} 480 - 481 -= Siehe auch = 482 - 483 -* [[Stichwortverzeichnis>>doc:Main.Index.WebHome]] 484 -* [[Glossar>>doc:Main.Glossar.WebHome]] 485 -* [[Basisprojekt FAQ>>doc:Main.Basisprojekt.Basisprojekt FAQ.WebHome]] 486 -