Wiki source code of Basisprojekt

Version 37.3 by mgrawunder on 2025/09/03 10:02

Hide last authors
Marco Grawunder 2.1 1 [[image:Main.Organisatorisches.WebHome@softwareprojekt_logo_transparent.png||alt="SoftwareprojektLogo.png" data-xwiki-image-style-alignment="end" height="136" width="309"]]
2
Marco Grawunder 28.1 3 Hier folgen Erklärungen des neuen Basisprojekts. Es wird um die folgenden Themen gehen:
4
Marco Grawunder 24.1 5 {{toc/}}
Marco Grawunder 23.2 6
Marco Grawunder 2.2 7
Marco Grawunder 7.2 8 = Basisprojekt mit IntelliJ einrichten =
9
10 [[image:1755245956916-184.png]]
11
Marco Grawunder 24.2 12 == Clone ==
Marco Grawunder 7.2 13
14 [[image:1755245971657-468.png]]
15
16
17 [[image:1755245980026-164.png]]
18
19 Auf anderen Branch wechseln (hier development)
20
21 [[image:1755245996886-733.png]]
22
Marco Grawunder 24.2 23 == Initialer Build (Generierung) ==
Marco Grawunder 7.2 24
Marco Grawunder 10.2 25 [[image:1755246008466-477.png]]
Marco Grawunder 7.2 26
27
Marco Grawunder 10.2 28 [[image:1755246018789-616.png]]
29
30
Marco Grawunder 24.2 31 == Lombok Plugin ==
32
Marco Grawunder 23.1 33 **Lombok Plugin installiert? Wenn nein jetzt machen**
34
Marco Grawunder 25.2 35 [[image:1755248508652-523.png]]
Marco Grawunder 24.2 36
mgrawunder 37.2 37 **Hinweis: Wenn man schon hier ist, kann man auch das Spring-(Boot)-Plugin **installieren
Marco Grawunder 23.1 38
mgrawunder 37.2 39 [[image:1756886220468-891.png]]
mgrawunder 36.2 40
Marco Grawunder 25.2 41 == Server laufen lassen ==
Marco Grawunder 23.1 42
Marco Grawunder 10.2 43 [[image:1755246035428-328.png]]
44
45
Marco Grawunder 25.3 46 ... und ggf. Lombok aktivieren (Man wird nach dem Start der Anwendung gefragt)
Marco Grawunder 10.2 47
Marco Grawunder 23.1 48 [[image:1755246072443-191.png]]
Marco Grawunder 10.2 49
50
Marco Grawunder 23.1 51 [[image:1755246118807-452.png]]
Marco Grawunder 10.2 52
Marco Grawunder 2.2 53
Marco Grawunder 25.3 54 == Logging umstellen ==
Marco Grawunder 3.1 55
Marco Grawunder 23.1 56 [[image:1755246135109-325.png]]
57
58
59 [[image:1755246147827-679.png]]
60
61
62 [[image:1755246162330-595.png]]
63
Marco Grawunder 25.3 64 == Development Profil aktivieren ==
Marco Grawunder 23.1 65
Marco Grawunder 25.3 66 damit dann user1 - user9 angelegt werden und man nicht jedesmal neu registrieren muss
67
Marco Grawunder 23.1 68 [[image:1755246173415-934.png]]
69
70
mgrawunder 37.3 71 **Wenn man IntelliJ nicht in der Pro-Version verwendet bzw. das Spring Boot Plugin nicht installiert hat, muss kann man ein Spring-Profil über eine Umgebungsvariable in der Konfiguration des Servers setzen: **
Marco Grawunder 23.1 72
73 **SPRING_PROFILES_ACTIVE=dev**
74
Marco Grawunder 26.2 75 [[image:1755248752596-839.png]]
76
77
78 == Client starten ==
79
Marco Grawunder 23.1 80 [[image:1755246257400-525.png]]
81
82
83 [[image:1755246212916-883.png]]
84
85
86 [[image:1755246223246-834.png]]
87
88
Marco Grawunder 26.2 89 === Mehrere Instanzen des Clients ermöglichen ===
90
Marco Grawunder 23.1 91 [[image:1755246233218-893.png]]
92
93
Marco Grawunder 27.1 94 Wenn folgendes kommt, ist entweder das "dev" Profil nicht aktiviert, der Nutzer wurde nicht angelegt. Wenn der Server nicht läuft, gibt es eine andere Fehlermeldung.
Marco Grawunder 26.2 95
Marco Grawunder 23.1 96 [[image:1755246292057-581.png]]
97
Marco Grawunder 30.2 98
99 = Kurzer Blick ins Basisprojekt =
100
101 [[image:1755249096987-249.png]]
102
103
104 [[image:1755249136156-419.png]]
Marco Grawunder 33.1 105
106
107 == Screenshots ==
108
109 [[image:1755249228556-469.png]]
110
111
112 = Kommunikation Client ~-~-> Server =
113
114 [[image:1755249285866-367.png]]
115
Marco Grawunder 34.1 116 Der Server verwendet das REST-Protokoll und als Austauschformat JSON
117
118 = OpenAPI =
119
mgrawunder 37.3 120 (Hinweis: Ich bin nicht sicher, ob IntelliJ diese Darstellung auch hat, wenn man nicht die Ultimate Version verwendet. Ggf. muss man das OpenAPI-Plugin installieren)
121
Marco Grawunder 34.1 122 [[image:1755250026156-269.png]]
123
124 [[image:1755250050031-304.png]]
125
126 * **Paths**: Endpunkte der API (z.B. /users, /lobbies).
127 * **Operations**: Spezifikation von Methoden wie GET, POST.
128 * **Definitions**: Detaillierte Beschreibung von Eingabe- und Ausgabestrukturen.
129 * **Security**: Authentifizierungsmechanismen.
130
131 [[image:1755250061990-172.png]]
Marco Grawunder 36.1 132
133 Kann JSON oder YAML (Yet Another Markup Language) verwenden YAML ist wie JSON nur mit weniger Klammern
134
135 [[image:1755250157536-746.png]]
mgrawunder 37.3 136
137 Die aktuelle Version des OpenAPI Dokumentes findet sich im Basisprojekt 2 [[https:~~/~~/gitlab.swl.informatik.uni-oldenburg.de/SPB/SWPBasisprojekt2/-/blob/master/openapi.yaml?ref_type=heads>>https://gitlab.swl.informatik.uni-oldenburg.de/SPB/SWPBasisprojekt2/-/blob/master/openapi.yaml?ref_type=heads]]
138
139 Dort wird die Datei auch grafisch dargestellt.
140
141
142