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
Change comment: There is no comment for this version
To version 63.1
edited by Marco Grawunder
on 2026/08/25 15:36
Change comment: There is no comment for this version

Summary

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 -