Wiki source code of Basisprojekt
Version 37.3 by mgrawunder on 2025/09/03 10:02
Hide last authors
author | version | line-number | content |
---|---|---|---|
![]() |
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 | |||
![]() |
28.1 | 3 | Hier folgen Erklärungen des neuen Basisprojekts. Es wird um die folgenden Themen gehen: |
4 | |||
![]() |
24.1 | 5 | {{toc/}} |
![]() |
23.2 | 6 | |
![]() |
2.2 | 7 | |
![]() |
7.2 | 8 | = Basisprojekt mit IntelliJ einrichten = |
9 | |||
10 | [[image:1755245956916-184.png]] | ||
11 | |||
![]() |
24.2 | 12 | == Clone == |
![]() |
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 | |||
![]() |
24.2 | 23 | == Initialer Build (Generierung) == |
![]() |
7.2 | 24 | |
![]() |
10.2 | 25 | [[image:1755246008466-477.png]] |
![]() |
7.2 | 26 | |
27 | |||
![]() |
10.2 | 28 | [[image:1755246018789-616.png]] |
29 | |||
30 | |||
![]() |
24.2 | 31 | == Lombok Plugin == |
32 | |||
![]() |
23.1 | 33 | **Lombok Plugin installiert? Wenn nein jetzt machen** |
34 | |||
![]() |
25.2 | 35 | [[image:1755248508652-523.png]] |
![]() |
24.2 | 36 | |
![]() |
37.2 | 37 | **Hinweis: Wenn man schon hier ist, kann man auch das Spring-(Boot)-Plugin **installieren |
![]() |
23.1 | 38 | |
![]() |
37.2 | 39 | [[image:1756886220468-891.png]] |
![]() |
36.2 | 40 | |
![]() |
25.2 | 41 | == Server laufen lassen == |
![]() |
23.1 | 42 | |
![]() |
10.2 | 43 | [[image:1755246035428-328.png]] |
44 | |||
45 | |||
![]() |
25.3 | 46 | ... und ggf. Lombok aktivieren (Man wird nach dem Start der Anwendung gefragt) |
![]() |
10.2 | 47 | |
![]() |
23.1 | 48 | [[image:1755246072443-191.png]] |
![]() |
10.2 | 49 | |
50 | |||
![]() |
23.1 | 51 | [[image:1755246118807-452.png]] |
![]() |
10.2 | 52 | |
![]() |
2.2 | 53 | |
![]() |
25.3 | 54 | == Logging umstellen == |
![]() |
3.1 | 55 | |
![]() |
23.1 | 56 | [[image:1755246135109-325.png]] |
57 | |||
58 | |||
59 | [[image:1755246147827-679.png]] | ||
60 | |||
61 | |||
62 | [[image:1755246162330-595.png]] | ||
63 | |||
![]() |
25.3 | 64 | == Development Profil aktivieren == |
![]() |
23.1 | 65 | |
![]() |
25.3 | 66 | damit dann user1 - user9 angelegt werden und man nicht jedesmal neu registrieren muss |
67 | |||
![]() |
23.1 | 68 | [[image:1755246173415-934.png]] |
69 | |||
70 | |||
![]() |
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: ** |
![]() |
23.1 | 72 | |
73 | **SPRING_PROFILES_ACTIVE=dev** | ||
74 | |||
![]() |
26.2 | 75 | [[image:1755248752596-839.png]] |
76 | |||
77 | |||
78 | == Client starten == | ||
79 | |||
![]() |
23.1 | 80 | [[image:1755246257400-525.png]] |
81 | |||
82 | |||
83 | [[image:1755246212916-883.png]] | ||
84 | |||
85 | |||
86 | [[image:1755246223246-834.png]] | ||
87 | |||
88 | |||
![]() |
26.2 | 89 | === Mehrere Instanzen des Clients ermöglichen === |
90 | |||
![]() |
23.1 | 91 | [[image:1755246233218-893.png]] |
92 | |||
93 | |||
![]() |
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. |
![]() |
26.2 | 95 | |
![]() |
23.1 | 96 | [[image:1755246292057-581.png]] |
97 | |||
![]() |
30.2 | 98 | |
99 | = Kurzer Blick ins Basisprojekt = | ||
100 | |||
101 | [[image:1755249096987-249.png]] | ||
102 | |||
103 | |||
104 | [[image:1755249136156-419.png]] | ||
![]() |
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 | |||
![]() |
34.1 | 116 | Der Server verwendet das REST-Protokoll und als Austauschformat JSON |
117 | |||
118 | = OpenAPI = | ||
119 | |||
![]() |
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 | |||
![]() |
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]] | ||
![]() |
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]] | ||
![]() |
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 |