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