Ich erkläre, dass ich die vorliegende Diplomarbeit selbstständig und ohne fremde Hilfe verfasst, andere als die angegebenen Quellen und Hilfsmittel nicht benutzt, sowie die aus anderen Werken übernommene Inhalte durch Quellenangaben erkenntlich gemacht habe.
Die vorliegende Diplomarbeit „AlumniHub“ befasst sich mit der Entwicklung eines zentralen Portals für den Absolventenverein der HTL Ungargasse. Ziel des Projektes ist es, die Kommunikation zwischen dem Verein und seinen Mitgliedern zu digitalisieren und zu vereinfachen. Die Plattform ermöglicht es Absolventinnen und Absolventen, Profile zu erstellen, sich zu vernetzen und Informationen über Vereinsaktivitäten abzurufen. Ein besonderer Fokus lag auf der Integration eines Premium-Bereichs sowie eines sicheren Anmeldesystems über LinkedIn.
\cleardoublepage
\section*{Abstract}
The diploma thesis "AlumniHub" focuses on the development of a central portal for the alumni association of the HTL Ungargasse. The project aims to digitize and simplify communication between the association and its members. The platform allows alumni to create profiles, network, and retrieve information about association activities. A major focus was the integration of a premium section and a secure authentication system via LinkedIn.
Der Absolventenverein verwaltet derzeit rund 300 Alumni, deren Daten in einer CSV-Datei gepflegt werden. Die Event-Anmeldungen der letzten Jahre erfolgten über “Perspective Funnels”, dessen Lizenz mittlerweile abgelaufen ist. Für die kommenden Veranstaltungen wird daher ein Ersatz für die Event-Registrierung benötigt. Die aktuellen Abläufe sind dezentral und teilweise manuell, was zu einem erhöhten Verwaltungsaufwand und fehlender Übersicht führt. Eine integrierte Plattform für Mitgliederverwaltung, Kommunikation und Event-Organisation existiert bislang nicht.
Der Absolventenverein verwaltet derzeit rund 300 Alumni, deren Daten in einer CSV-Datei gepflegt werden. Die Event-Anmeldungen der letzten Jahre erfolgten über “Perspective Funnels”, dessen Lizenz mittlerweile abgelaufen ist. Für die kommenden Veranstaltungen wird daher ein Ersatz für die Event-Registrierung benötigt. Die aktuellen Abläufe sind dezentral und teilweise manuell, was zu einem erhöhten Verwaltungsaufwand und fehlender Übersicht führt. Eine integrierte Plattform für Mitgliederverwaltung, Kommunikation und Event-Organisation existiert bislang nicht.
### Zielsetzung
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Website des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
Ziel der Diplomarbeit ist es, ein Content-Management-System als Basis für eine innovative, barrierefreie und sichere Website des Absolventenvereins zu nutzen, dabei vorhandene Funktionen des CMS anzupassen und eigene Module wie eine Eventanmeldung, eine Hall of Fame, ein Schwarzes Brett als Kommunikationsplattform sowie einen Premiumbereich zu entwickeln. Die Anwendung soll modular, erweiterbar und leicht wartbar sein und auf einem Schulserver betrieben werden, um eine kontrollierte und geschützte Umgebung für die Verwaltung der Mitglieder- und Veranstaltungsdaten zu gewährleisten.
### Tatsächliches Ergebnis
@@ -19,6 +23,7 @@ Adam Gaiswinkler war für die Dokumentation der Benutzeroberfläche und des Back
Florian Edlmayer entwickelte ein funktionierendes CMS-Modul für den Premiumbereich der Absolventen. Zusätzlich erstellte er eine vollständige und gesetzeskonforme Datenschutzerklärung. Ein weiterer wichtiger Bestandteil war die erfolgreiche Implementierung einer OAuth-Authentifizierung über LinkedIn.
## Das Team
Konstantin Hintermayer
Geboren am: 25.05.2007
@@ -33,18 +38,19 @@ Geboren am: 20.08.2006
E-Mail: [florian.edlmayer@edu.szu.at]
Individuelle Themenstellung: Entwicklung eines CMS-Moduls für den Premiumbereich des Absolventenvereins,Verfassung der Datenschutzerklärung und zuständig für Informationssicherheit, Implementierung von OAuth, Datenbankmanagement.
Individuelle Themenstellung: Entwicklung eines CMS-Moduls für den Premiumbereich des Absolventenvereins,Verfassung der Datenschutzerklärung und zuständig für Informationssicherheit, Implementierung von OAuth, Datenbankmanagement.
Adam Gaiswinkler
Adam Gaiswinkler
Geboren am:
E-Mail: [adam.gaiswinkler@edu.szu.at]
Individuelle Themenstellung:Entwicklung zweier CMS-Module: (Anmeldetool für Treffen und Hall of Fame), Grundkonfiguration des CMS, Starker Fokus auf nutzerfreundliches und responsives Design, Web-Entwicklung mit C# und ASP.NET.
Individuelle Themenstellung:Entwicklung zweier CMS-Module: (Anmeldetool für Treffen und Hall of Fame), Grundkonfiguration des CMS, Starker Fokus auf nutzerfreundliches und responsives Design, Web-Entwicklung mit C# und ASP.NET.
## Fachliches Umfeld(Technologien)
Im fachlichen Umfeld dieser Diplomarbeit kommt das Content-Management-System Oqtane zum Einsatz. Oqtane basiert auf modernen Webtechnologien wie ASP.NET Core und der Plattform .NET und ermöglicht die Entwicklung modularer und skalierbarer Webanwendungen. Durch seine komponentenbasierte Architektur können Funktionen in Form von Modulen flexibel entwickelt und in die Anwendung integriert werden. Dies erleichtert sowohl die Erweiterbarkeit als auch die Wartung der Plattform. Besonders im Kontext dieser Arbeit bietet Oqtane eine geeignete Grundlage, um eine dynamische und benutzerorientierte Alumni-Plattform umzusetzen, da sowohl Inhalte als auch Benutzerverwaltung effizient verwaltet werden können.
Im fachlichen Umfeld dieser Diplomarbeit kommt das Content-Management-System Oqtane zum Einsatz. Oqtane basiert auf modernen Webtechnologien wie ASP.NET Core und der Plattform .NET und ermöglicht die Entwicklung modularer und skalierbarer Webanwendungen. Durch seine komponentenbasierte Architektur können Funktionen in Form von Modulen flexibel entwickelt und in die Anwendung integriert werden. Dies erleichtert sowohl die Erweiterbarkeit als auch die Wartung der Plattform. Besonders im Kontext dieser Arbeit bietet Oqtane eine geeignete Grundlage, um eine dynamische und benutzerorientierte Alumni-Plattform umzusetzen, da sowohl Inhalte als auch Benutzerverwaltung effizient verwaltet werden können.
Siehe Details unter: Konstantin Hintermayer individueller Teil
@@ -55,39 +61,39 @@ Siehe Details unter: Konstantin Hintermayer individueller Teil
### Hauptziele
- **HZ01 – Verwaltung von Absolventenprofilen**
Das System ermöglicht die zentrale Erstellung und Pflege individueller Profile für Absolventen.
Das System ermöglicht die zentrale Erstellung und Pflege individueller Profile für Absolventen.
- **HZ02 – Organisation von Veranstaltungen**
Die Applikation stellt Funktionen zur Planung und Durchführung von Vereinstreffen und Events bereit.
Die Applikation stellt Funktionen zur Planung und Durchführung von Vereinstreffen und Events bereit.
- **HZ03 – Darstellung der Hall of Fame**
Besondere Leistungen und Erfolge von Absolventen werden in einer digitalen Ehrengalerie präsentiert.
Besondere Leistungen und Erfolge von Absolventen werden in einer digitalen Ehrengalerie präsentiert.
- **HZ04 – Firmen- und Jobstellenmarkt**
Integration einer Plattform für Stellenangebote, Praktika und die Vernetzung mit Partnerunternehmen.
Integration einer Plattform für Stellenangebote, Praktika und die Vernetzung mit Partnerunternehmen.
- **HZ05 – Zugriffsverwaltung und Sicherheit**
Implementierung einer rollenbasierten Zugriffskontrolle und Gewährleistung der Datensicherheit nach DSGVO-Standard.
Implementierung einer rollenbasierten Zugriffskontrolle und Gewährleistung der Datensicherheit nach DSGVO-Standard.
- **HZ06 – Schülerzugang und CMS**
Einbindung eines Redaktionssystems für Beiträge und eines speziellen Zugangs für aktuelle Schüler.
Einbindung eines Redaktionssystems für Beiträge und eines speziellen Zugangs für aktuelle Schüler.
### Hardwareanforderungen und Infrastruktur
- **HW01 – Benutzerkapazität (300 Nutzer)**
Das System unterstützt mindestens 300 gleichzeitig registrierte Benutzer für Administration und Nutzung.
Das System unterstützt mindestens 300 gleichzeitig registrierte Benutzer für Administration und Nutzung.
| *1* | *19.09.2025* | Fertigstellung und Abgabe des Diplomarbeitsantrags. |
| *2* | *30.10.2025* | [cite_start]Server-Setup mit SSH-Zugriff [cite: 83][cite_start], CMS-Grundkonfiguration (Oqtane) im SZU-Design [cite: 69, 83][cite_start], Implementierung der Eingabemaske und API für das Anmeldetool [cite: 137] [cite_start]sowie Erstellung der DSGVO-Richtlinien [cite: 38] [cite_start]und Backupstrategie[cite: 55, 62]. |
| *3* | *27.11.2025* | [cite_start]Entwicklung grafischer Auswertungen für Anmeldedaten [cite: 120] [cite_start]und Integration der OAuth-Authentifizierung zum automatisierten Abruf von Profildaten[cite: 78, 148]. |
| *4* | *18.12.2025* | Realisierung des Schwarzen Bretts inkl. [cite_start]Sperrfunktion für Administratoren [cite: 133][cite_start], Entwicklung des Hall of Fame Moduls mit PDF-Generierung [cite: 105] [cite_start]sowie Aufbau der Premiumkunden-Verwaltung[cite: 113]. |
| *5* | *21.01.2026* | [cite_start]Erstellung der technischen Systemdokumentation [cite: 155][cite_start], Durchführung von Modultests und Implementierung der Premium-Serviceverwaltung[cite: 113]. |
| *6* | *08.02.2026* | [cite_start]Projektabschluss der Infrastruktur-Tasks, Übergabe der Disaster-Recovery-Skripte [cite: 58] [cite_start]und Finalisierung der gesamten Projektdokumentation[cite: 155]. |
| *7* | *12.03.2026* | Finale Abgabe des Diplomarbeitsbuchs. |
| _1_ | _19.09.2025_ | Fertigstellung und Abgabe des Diplomarbeitsantrags. |
| _2_ | _30.10.2025_ | [cite_start]Server-Setup mit SSH-Zugriff [cite: 83][cite_start], CMS-Grundkonfiguration (Oqtane) im SZU-Design [cite: 69, 83][cite_start], Implementierung der Eingabemaske und API für das Anmeldetool [cite: 137] [cite_start]sowie Erstellung der DSGVO-Richtlinien [cite: 38] [cite_start]und Backupstrategie[cite: 55, 62]. |
| _3_ | _27.11.2025_ | [cite_start]Entwicklung grafischer Auswertungen für Anmeldedaten [cite: 120] [cite_start]und Integration der OAuth-Authentifizierung zum automatisierten Abruf von Profildaten[cite: 78, 148]. |
| _4_ | _18.12.2025_ | Realisierung des Schwarzen Bretts inkl. [cite_start]Sperrfunktion für Administratoren [cite: 133][cite_start], Entwicklung des Hall of Fame Moduls mit PDF-Generierung [cite: 105] [cite_start]sowie Aufbau der Premiumkunden-Verwaltung[cite: 113]. |
| _5_ | _21.01.2026_ | [cite_start]Erstellung der technischen Systemdokumentation [cite: 155][cite_start], Durchführung von Modultests und Implementierung der Premium-Serviceverwaltung[cite: 113]. |
| _6_ | _08.02.2026_ | [cite_start]Projektabschluss der Infrastruktur-Tasks, Übergabe der Disaster-Recovery-Skripte [cite: 58] [cite_start]und Finalisierung der gesamten Projektdokumentation[cite: 155]. |
| _7_ | _12.03.2026_ | Finale Abgabe des Diplomarbeitsbuchs. |
| 1 | Infrastruktur | [cite_start]Instabilität oder Fehlkonfiguration der Cloud-Server (Hetzner CX22), die den Live-Betrieb unterbrechen[cite: 45, 51]. | 60 | 90 | 5400 |
| 2 | Datenverlust | [cite_start]Kritischer Ausfall der Datenbank ohne erfolgreiche Wiederherstellung durch automatisierte Backups[cite: 51, 62]. | 15 | 95 | 1425 |
| 3 | DSGVO-Verstoß | [cite_start]Fehlende Konformität bei der Speicherung personenbezogener Daten oder beim Opt-In-Verfahren[cite: 38, 39, 128]. | 10 | 100 | 1000 |
| 4 | Sicherheitslücke | [cite_start]Unbefugter Zugriff auf das System durch Schwachstellen in der VPN- oder SSH-Verbindung[cite: 83]. | 15 | 85 | 1275 |
| 5 | API-Schnittstellen | [cite_start]Ausfall oder Inkompatibilität externer Dienste wie LinkedIn OAuth oder Brevo Mailservice[cite: 74, 78]. | 30 | 50 | 1500 |
| 6 | Performance | [cite_start]Beeinträchtigung der Systemleistung bei steigenden Zugriffszahlen in Phase 2[cite: 44, 46]. | 40 | 40 | 1600 |
| 1 | Infrastruktur | [cite_start]Instabilität oder Fehlkonfiguration der Cloud-Server (Hetzner CX22), die den Live-Betrieb unterbrechen[cite: 45, 51]. | 60 | 90 | 5400 |
| 2 | Datenverlust | [cite_start]Kritischer Ausfall der Datenbank ohne erfolgreiche Wiederherstellung durch automatisierte Backups[cite: 51, 62]. | 15 | 95 | 1425 |
| 3 | DSGVO-Verstoß | [cite_start]Fehlende Konformität bei der Speicherung personenbezogener Daten oder beim Opt-In-Verfahren[cite: 38, 39, 128]. | 10 | 100 | 1000 |
| 4 | Sicherheitslücke | [cite_start]Unbefugter Zugriff auf das System durch Schwachstellen in der VPN- oder SSH-Verbindung[cite: 83]. | 15 | 85 | 1275 |
| 5 | API-Schnittstellen | [cite_start]Ausfall oder Inkompatibilität externer Dienste wie LinkedIn OAuth oder Brevo Mailservice[cite: 74, 78]. | 30 | 50 | 1500 |
| 6 | Performance | [cite_start]Beeinträchtigung der Systemleistung bei steigenden Zugriffszahlen in Phase 2[cite: 44, 46]. | 40 | 40 | 1600 |
| 8 | Oqtane-Integration | [cite_start]Komplexität bei der Entwicklung und Einbindung benutzerdefinierter CMS-Module[cite: 69, 72]. | 30 | 45 | 1350 |
| 9 | Dokumentation | [cite_start]Lückenhafte technische Dokumentation erschwert die Wartung durch den Absolventenverein[cite: 155]. | 20 | 30 | 600 |
### Grafische Darstellung
@@ -314,7 +322,9 @@ quadrantChart
Oqtane_Integration: [0.45, 0.3]
Dokumentation: [0.3, 0.2]
```
## Projektressourcen
### Persönliche Ressourcen(geplant)
| Teammitglied | Personenstunden |
@@ -323,10 +333,9 @@ quadrantChart
| **Florian Edlmayer** | 180 |
| **Adam Gaiswinkler** | 180 |
| **SUMME** | **540** |
### Persönliche Ressourcen(real)
## Projektmanagement mit Scrum
### Grundlagen der Scrum-Methode
@@ -398,7 +407,6 @@ Darüber hinaus fördert Scrum die Zusammenarbeit innerhalb des Teams. Regelmä
Insgesamt ermöglicht Scrum eine strukturierte, flexible und transparente Vorgehensweise bei der Entwicklung von Webanwendungen. Dadurch kann die Qualität der entwickelten Software verbessert und der Entwicklungsprozess effizienter gestaltet werden.
# Allgemeines
## Danksagung
@@ -414,4 +422,3 @@ Ein besonders komplexer Aspekt dieser Arbeit war die Infrastruktur, für die im
Als wir im Oktober kurzfristig eine neue Produktionsumgebung benötigten, wurde uns unbürokratisch durch die Schule geholfen. Herr Prof. Harald Dassler und Herr Prof. Andreas Resch haben uns zur Weiterentwicklung eine virtuelle Maschine zur Verfügung gestellt und den externen Zugriff ermöglicht. Es ist nicht selbstverständlich, dass in einer Institution dieser Größe ein solcher Wunsch so schnell und unkompliziert umgesetzt wird.
Für den „frischen Wind“ und das sorgfältige Korrekturlesen der Arbeit bedanken wir uns herzlich bei Frau Prof. Gertrude Brindlmayer. Ihr geschulter Blick auf Details, die dem Team im Arbeitsprozess entgangen waren, stellte eine große Bereicherung für die finale Qualität dieser Arbeit dar.
@@ -111,6 +113,8 @@ Zusätzlich gab es einen Administrationszugang zu den Servern, welcher über SSH
| Schule | Highport |
| LiveDesign | IPSEC VPN |
Table: SSH Zugänge in den unterschiedlichen Umgebungen
Die VPN basierten Zugänge sind tendenziell schwieriger zu finden und auszunutzen, während die Lösung in der Schule mittels Highport den SSH Service öffentlich erreichbar macht. Durch den `Highport` ist der SSH Service schwieriger zu finden. Zur Authentifizierung mit SSH verwenden wir SSH-Keys, da diese durch ihre komplexität sicherer sind, als Passwörter.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.