Update Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md #65

Open
Kocoder wants to merge 1 commits from kh-system-architecture into main
Owner
No description provided.
Kocoder added 1 commit 2026-03-08 13:15:46 +00:00
Update Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md
All checks were successful
Gemini Writing Review / gemini-review (pull_request) Successful in 4m24s
Word Count / count-words (pull_request) Successful in 32s
93a788d292
gitea-actionsbot requested changes 2026-03-08 13:20:09 +00:00
gitea-actionsbot left a comment

🤖 Gemini Writing Review

I've found some areas for improvement in the documentation. Please see the inline comments below.

### 🤖 Gemini Writing Review I've found some areas for improvement in the documentation. Please see the inline comments below.

Grammatik: 'des Projektes' ist zwar korrekt, aber 'des Projekts' ist moderner. Zudem sollte das Leerzeichen vor der Klammer geprüft werden.

In diesem Abschnitt wird meine persönliche Aufgabenstellung im Rahmen des Projekts (`Alumnihub`) beschrieben.
Grammatik: 'des Projektes' ist zwar korrekt, aber 'des Projekts' ist moderner. Zudem sollte das Leerzeichen vor der Klammer geprüft werden. ```suggestion In diesem Abschnitt wird meine persönliche Aufgabenstellung im Rahmen des Projekts (`Alumnihub`) beschrieben. ```

Rechtschreibung und Stil: 'entwickel' -> 'entwickle'. 'React.JS' -> 'React.js'. Der Satzanfang ist zudem fragmentiert.

Erlernen von ASP.NET und der Entwicklung mit Blazor und Oqtane. Ich interessiere mich für das Thema Webentwicklung. Privat entwickle ich schon seit Jahren mit React.js.
Rechtschreibung und Stil: 'entwickel' -> 'entwickle'. 'React.JS' -> 'React.js'. Der Satzanfang ist zudem fragmentiert. ```suggestion Erlernen von ASP.NET und der Entwicklung mit Blazor und Oqtane. Ich interessiere mich für das Thema Webentwicklung. Privat entwickle ich schon seit Jahren mit React.js. ```

Fachbegriff: Ab Version 5 heißt es nur noch '.NET' (ohne 'Core'). Zudem fehlt ein Komma vor dem 'und' nicht, aber der Satzbau ist etwas verschachtelt.

Nachdem wir im Unterricht fast ausschließlich mit C# entwickelt haben und nicht in eine komplett unbekannte Entwicklungsumgebung abdriften wollten, haben wir uns für die Webentwicklung mit ASP.NET Core 9 (Upgrade im Lauf der Diplomarbeit auf .NET 10) und dem CMS Oqtane entschieden.
Fachbegriff: Ab Version 5 heißt es nur noch '.NET' (ohne 'Core'). Zudem fehlt ein Komma vor dem 'und' nicht, aber der Satzbau ist etwas verschachtelt. ```suggestion Nachdem wir im Unterricht fast ausschließlich mit C# entwickelt haben und nicht in eine komplett unbekannte Entwicklungsumgebung abdriften wollten, haben wir uns für die Webentwicklung mit ASP.NET Core 9 (Upgrade im Lauf der Diplomarbeit auf .NET 10) und dem CMS Oqtane entschieden. ```

Rechtschreibung: 'Großen und Ganzen' wird großgeschrieben.

Viel Arbeit mit Partials, welche in der Admin-Oberfläche geschieht, aber sehr gut dokumentiert. Im Großen und Ganzen wirkt Umbraco nicht so flexibel.
Rechtschreibung: 'Großen und Ganzen' wird großgeschrieben. ```suggestion Viel Arbeit mit Partials, welche in der Admin-Oberfläche geschieht, aber sehr gut dokumentiert. Im Großen und Ganzen wirkt Umbraco nicht so flexibel. ```

Grammatik/Rechtschreibung: 'And' -> 'Und'. 'ich ich' (doppelt). 'ein Windows Server' -> 'einen Windows-Server' (Akkusativ). Dem Satz fehlt ein Verb wie 'stellen'.

Platzhirsch. Kennt man, wird von der DNN Foundation gewartet. Arbeitet mit dem Dotnet Framework, welches nicht unter Linux läuft. Und einen Windows-Server würde ich nicht einfach so ins Internet stellen, abgesehen von den Lizenzkosten, die anfallen würden.
Grammatik/Rechtschreibung: 'And' -> 'Und'. 'ich ich' (doppelt). 'ein Windows Server' -> 'einen Windows-Server' (Akkusativ). Dem Satz fehlt ein Verb wie 'stellen'. ```suggestion Platzhirsch. Kennt man, wird von der DNN Foundation gewartet. Arbeitet mit dem Dotnet Framework, welches nicht unter Linux läuft. Und einen Windows-Server würde ich nicht einfach so ins Internet stellen, abgesehen von den Lizenzkosten, die anfallen würden. ```

Rechtschreibung: 'implementiereung' -> 'Implementierung'.

2. Mit welcher speziellen Implementierung bekommen wir Support und haben Wissen im Team?
Rechtschreibung: 'implementiereung' -> 'Implementierung'. ```suggestion 2. Mit welcher speziellen Implementierung bekommen wir Support und haben Wissen im Team? ```

Rechtschreibung/Stil: 'erfahrungen' -> 'Erfahrungen'. 'errungen' passt eher zu Siegen; bei Fähigkeiten nutzt man 'erworben'.

Es war von Anfang an klar, dass es ein SQL-basiertes System wird, da wir im Team nur mit SQL-basierten Systemen Erfahrungen haben. Außerdem unterstützt unser CMS (Oqtane) nur SQL-basierte Systeme. In der Linuxwelt kommen jetzt nur noch ein paar Datenbanken in die Auswahl: PostgreSQL, MySQL / MariaDB, SQLite. Da ist die Wahl auf PostgreSQL gefallen. Grund dafür war meine Vorerfahrung mit diesem DBMS, welche ich im Nebenjob erworben habe.
Rechtschreibung/Stil: 'erfahrungen' -> 'Erfahrungen'. 'errungen' passt eher zu Siegen; bei Fähigkeiten nutzt man 'erworben'. ```suggestion Es war von Anfang an klar, dass es ein SQL-basiertes System wird, da wir im Team nur mit SQL-basierten Systemen Erfahrungen haben. Außerdem unterstützt unser CMS (Oqtane) nur SQL-basierte Systeme. In der Linuxwelt kommen jetzt nur noch ein paar Datenbanken in die Auswahl: PostgreSQL, MySQL / MariaDB, SQLite. Da ist die Wahl auf PostgreSQL gefallen. Grund dafür war meine Vorerfahrung mit diesem DBMS, welche ich im Nebenjob erworben habe. ```

Stil: 'Sourcecode' kann im Deutschen zusammengeschrieben werden, 'Quellcode' wäre das deutsche Pendant. 'Startup-Logik' mit Bindestrich ist leserlicher.

Im Server-Projekt liegt Quellcode, welcher serverseitig ausgeführt werden soll. In der Praxis bedeutet das: alle Repositories, Controller, Manager, Migrationen und Server-Services (entwickelt nach einem Interface definiert im Client) und Server-Startup-Logik.
Stil: 'Sourcecode' kann im Deutschen zusammengeschrieben werden, 'Quellcode' wäre das deutsche Pendant. 'Startup-Logik' mit Bindestrich ist leserlicher. ```suggestion Im Server-Projekt liegt Quellcode, welcher serverseitig ausgeführt werden soll. In der Praxis bedeutet das: alle Repositories, Controller, Manager, Migrationen und Server-Services (entwickelt nach einem Interface definiert im Client) und Server-Startup-Logik. ```

Rechtschreibung: 'Staruplogik' -> 'Startup-Logik', 'Inferfaces' -> 'Interfaces'.

Im Client-Projekt liegen Code und Razor-Komponenten für den Client. Also Client-Startup-Logik, Client-Services (+ Interfaces dafür, die Services hier sollen lediglich die Server-Services über HTTP aufrufen), Ressourcendateien (.resx), die Komponenten / das User Interface und die Moduldefinitionen für jedes Modul.
Rechtschreibung: 'Staruplogik' -> 'Startup-Logik', 'Inferfaces' -> 'Interfaces'. ```suggestion Im Client-Projekt liegen Code und Razor-Komponenten für den Client. Also Client-Startup-Logik, Client-Services (+ Interfaces dafür, die Services hier sollen lediglich die Server-Services über HTTP aufrufen), Ressourcendateien (.resx), die Komponenten / das User Interface und die Moduldefinitionen für jedes Modul. ```

Rechtschreibung: 'Package Projekt' -> 'Package-Projekt' (Kompositum).

Im Package-Projekt findet man Skripte zum Debuggen und Releasen eines Moduls und die NuGet-Spezifikation.
Rechtschreibung: 'Package Projekt' -> 'Package-Projekt' (Kompositum). ```suggestion Im Package-Projekt findet man Skripte zum Debuggen und Releasen eines Moduls und die NuGet-Spezifikation. ```
@@ -76,1 +76,3 @@
## Systemarchitektur (Postgres / Oqtane / Nginx )
## Systemarchitektur (Postgres / Oqtane / Nginx)
In diesem Kapitel erkläre ich wie die ausgewählten Komponenten zusammenspielen. Wir verwenden NginX als Reverse Proxy, welcher bei uns die SSL Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereit gestellt und mitels HTTP-Challanges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selber läuft als Systemd-Service im Kestrel Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server "Kestrel") hört auf der Loopback IP und Port 5000. Damit ist Oqtane nur durch NginX erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört wieder auf der Loopback IP und Port 5432.

Rechtschreibung/Stil: 'NginX' -> 'Nginx'. 'mitels' -> 'mittels'. 'Challanges' -> 'Challenges'. 'selber' -> 'selbst'. Zudem 'auf der Loopback IP' -> 'auf die Loopback-IP'.

In diesem Kapitel erkläre ich, wie die ausgewählten Komponenten zusammenspielen. Wir verwenden Nginx als Reverse Proxy, welcher bei uns die SSL-Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereitgestellt und mittels HTTP-Challenges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selbst läuft als Systemd-Service im Kestrel-Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server „Kestrel“) hört auf die Loopback-IP und Port 5000. Damit ist Oqtane nur durch Nginx erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört ebenfalls auf die Loopback-IP und Port 5432.
Rechtschreibung/Stil: 'NginX' -> 'Nginx'. 'mitels' -> 'mittels'. 'Challanges' -> 'Challenges'. 'selber' -> 'selbst'. Zudem 'auf der Loopback IP' -> 'auf die Loopback-IP'. ```suggestion In diesem Kapitel erkläre ich, wie die ausgewählten Komponenten zusammenspielen. Wir verwenden Nginx als Reverse Proxy, welcher bei uns die SSL-Terminierung macht. Das Zertifikat, welches verwendet wird, wird von Let's Encrypt bereitgestellt und mittels HTTP-Challenges und dem Certbot auf dem Server aktualisiert und verwaltet. Oqtane selbst läuft als Systemd-Service im Kestrel-Backend. Kestrel ist ein kleiner Webserver, welcher in das ASP.NET Core Framework eingebaut worden ist. Oqtane (bzw. der ASP.NET Core Server „Kestrel“) hört auf die Loopback-IP und Port 5000. Damit ist Oqtane nur durch Nginx erreichbar. PostgreSQL ist die Datenbank in dem System: Sie hört ebenfalls auf die Loopback-IP und Port 5432. ```
@@ -89,2 +92,4 @@
oqtane:R <--> L:db
```
Zusätzlich gab es einen Administrationszugang zu den Servern, welcher über SSH möglich war. Dieser wurde für die Installation und Konfiguration der einzelnen Komponenten verwendet. Bei Hetzner war dieser Zugang nur über eine Wireguard VPN erreichbar. Bei der Schule war dieser Zugang direkt (über einen Hight-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt. Anfänglich mit SSL VPN, später mit einem IPSEC / Strongswan.

Rechtschreibung: 'Hight-Port' -> 'High-Port'.

Bei der Schule war dieser Zugang direkt (über einen High-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt.
Rechtschreibung: 'Hight-Port' -> 'High-Port'. ```suggestion Bei der Schule war dieser Zugang direkt (über einen High-Port) möglich. Und bei LiveDesign war dieser Zugang wieder über eine VPN geregelt. ```

Rechtschreibung: 'SOLID Prinzipien' -> 'SOLID-Prinzipien'.

Das Dependency-Inversion-Principle (DIP / auf Deutsch: Abhängigkeits-Umkehr-Prinzip) ist eines von den fünf `SOLID`-Prinzipien in der Softwareentwicklung.
Rechtschreibung: 'SOLID Prinzipien' -> 'SOLID-Prinzipien'. ```suggestion Das Dependency-Inversion-Principle (DIP / auf Deutsch: Abhängigkeits-Umkehr-Prinzip) ist eines von den fünf `SOLID`-Prinzipien in der Softwareentwicklung. ```

Rechtschreibung: 'dannach' -> 'danach'.

Beim Instanziieren einer Klasse werden alle im Konstruktor erwarteten Dependencies bereitgestellt, bzw. selbst instanziiert und danach bereitgestellt.
Rechtschreibung: 'dannach' -> 'danach'. ```suggestion Beim Instanziieren einer Klasse werden alle im Konstruktor erwarteten Dependencies bereitgestellt, bzw. selbst instanziiert und danach bereitgestellt. ```

Rechtschreibung: 'dannach' -> 'danach'.

Bei Programmstart wird zuerst manuell der `Service-Container` erstellt, danach alle Module registriert...
Rechtschreibung: 'dannach' -> 'danach'. ```suggestion Bei Programmstart wird zuerst manuell der `Service-Container` erstellt, danach alle Module registriert... ```

Rechtschreibung: 'Aufgebaut' (Adjektiv im Prädikat) wird kleingeschrieben.

Die meisten Pipelines sind folgendermaßen aufgebaut:
Rechtschreibung: 'Aufgebaut' (Adjektiv im Prädikat) wird kleingeschrieben. ```suggestion Die meisten Pipelines sind folgendermaßen aufgebaut: ```

Rechtschreibung: 'Submodule Checkout' -> 'Submodule-Checkout'.

Clone -> Checkout -> Submodule-Checkout (optional) -> Dependencies einrichten (zum Beispiel das dotnet SDK) -> Build ausführen.
Rechtschreibung: 'Submodule Checkout' -> 'Submodule-Checkout'. ```suggestion Clone -> Checkout -> Submodule-Checkout (optional) -> Dependencies einrichten (zum Beispiel das dotnet SDK) -> Build ausführen. ```

Rechtschreibung: 'bauen' -> 'Bauen' (Nominalisierung).

- ursprünglich: oqtane.framework
  > Zum Bauen und Verpacken in einen Docker Container und in die Registry pushen.
Rechtschreibung: 'bauen' -> 'Bauen' (Nominalisierung). ```suggestion - ursprünglich: oqtane.framework > Zum Bauen und Verpacken in einen Docker Container und in die Registry pushen. ```

🤖 Word Count Report

Word count for Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md

Word count: 1709

### 🤖 Word Count Report #### Word count for `Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md` Word count: 1709
All checks were successful
Gemini Writing Review / gemini-review (pull_request) Successful in 4m24s
Word Count / count-words (pull_request) Successful in 32s
This pull request has changes conflicting with the target branch.
  • Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin kh-system-architecture:kh-system-architecture
git checkout kh-system-architecture
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Diplomarbeit-Absolventenverein/pm#65