101 lines
3.9 KiB
Markdown
101 lines
3.9 KiB
Markdown
---
|
|
marp: true
|
|
theme: default
|
|
paginate: true
|
|
---
|
|
|
|
# Defensio Diplomarbeit: AlumniHub
|
|
## Individueller Teil: Adam Gaiswinkler
|
|
**Entwicklung von CMS-Modulen & Frontend-Design**
|
|
|
|
---
|
|
|
|
# Ausgangslage & Motivation
|
|
- **Ausgangssituation**: Bedarf an einer modernen Plattform für den Absolventenverein der HTL Ungargasse.
|
|
- **Persönliche Motivation**:
|
|
- Steigende Verantwortung durch Teamverkleinerung (von 6 auf 3 Personen).
|
|
- Identifikation mit dem Projekt wuchs deutlich.
|
|
- Praktische Anwendung von Blazor & ASP.NET in einem realen Umfeld.
|
|
- **Individuelle Ziele**:
|
|
- Entwicklung von Oqtane-Modulen (Anmeldetool & Hall of Fame).
|
|
- Web-Entwicklung mit Fokus auf responsives und nutzerfreundliches UI/UX.
|
|
|
|
---
|
|
|
|
# Eingesetzte Technologien
|
|
- **Backend & Core**: C#, ASP.NET Core
|
|
- **Frontend**: Blazor (für interaktive Weboberflächen direkt in C#)
|
|
- **CMS**: Oqtane Framework
|
|
- **Styling**: Bootstrap & Custom CSS
|
|
- **Spezielle Tools**: QuestPDF (PDF-Generierung), Gitea (Versionskontrolle)
|
|
- **Entwicklungsumgebung**: Visual Studio 2022 & JetBrains Rider (macOS)
|
|
|
|
---
|
|
|
|
# Umsetzung: Oqtane Theme
|
|
- **Ziel**: Modernes, schlichtes Design im Stil der HTL Ungargasse (szu.at).
|
|
- **Technische Highlights**:
|
|
- Vollständige Eigenentwicklung der Navigationslogik (über `PageState.Pages`).
|
|
- Dynamisches Ausblenden von Systemseiten via LINQ.
|
|
- **Responsive Design**: Einsatz von CSS Media Queries und einer komplett CSS-basierten Burger-Menü-Lösung.
|
|
- Integration eines `ControlPanels` und Cookie-Consent.
|
|
|
|
---
|
|
|
|
# Umsetzung: Hall of Fame (1)
|
|
- **Zweck**: Sichtbarmachung von erfolgreichen Absolventinnen und Absolventen.
|
|
- **UI & UX**:
|
|
- Responsive Kartenübersicht der Personen mit Such- und Sortierfunktion (Echtzeit).
|
|
- Detailseite im modernen "Glasmorphismus"-Design.
|
|
- **Datenerfassung & Workflow**:
|
|
- Rich-Text-Editor zur Eingabe des Werdegangs.
|
|
- Bild-Upload-System (Live-Vorschau, max. 5 MB) statt manueller URLs.
|
|
- Statusverwaltung ("Entwurf" vs. "Veröffentlicht") inkl. Eigentümerprüfung.
|
|
|
|
---
|
|
|
|
# Umsetzung: Hall of Fame (2)
|
|
- **PDF-Export**: Dynamische Generierung eines ansprechenden Profil-PDFs mittels *QuestPDF*.
|
|
- **Moderation**:
|
|
- Integriertes Meldesystem (Reporting) direkt über ein separates Interfaces-Paket angesteuert.
|
|
- **Datenbank & Persistenz**:
|
|
- Entity Framework Core inkl. Migrationen (`HallOfFame` und `HallOfFameReport` Tabellen).
|
|
|
|
---
|
|
|
|
# Umsetzung: Anmeldetool für Treffen
|
|
- **Zweck**: Vereinfachung der Planung und Teilnehmerverwaltung.
|
|
- **Funktion**:
|
|
- Klare, farblich getrennte Zusage- und Absage-Buttons.
|
|
- Live-Rückmeldung bei Statusänderung dank Blazor.
|
|
- Saubere Trennung von UI-Komponente und Backend-API.
|
|
- **UX-Optimierung**:
|
|
- Fokus auf Overlay-Darstellung und Mobile-Clipping-Vermeidung.
|
|
|
|
---
|
|
|
|
# Herausforderungen & Lösungen
|
|
- **Plattformwechsel (Windows zu macOS)**: Oqtane ist stark an Windows gekoppelt; gelöst durch Einsatz von JetBrains Rider.
|
|
- **Zeitdruck & Infrastruktur-Ausfälle**:
|
|
- Probleme mit Hosting (Hetzner).
|
|
- **Lösung**: Entwicklung einer schlanken "Übergangslösung" (Node.js/HTML) im Sommer 2025 zur zeitgerechten Event-Abwicklung.
|
|
- **Entity Framework Concurrency Issues**: Gelöst durch Transaktions-Gliederung bei Löschvorgängen (Reports vs. Main Entity).
|
|
|
|
---
|
|
|
|
# Learnings
|
|
- **Technisch**: Tieferes Verständnis von Version Control (Git), CSS/Flexbox (Responsiveness) und C#/Blazor-Tiefen.
|
|
- **Methodisch**: Eine klare Aufgabenaufteilung sowie regelmäßige Team-Meetings sind unerlässlich für den Projekterfolg.
|
|
- **Persönlich**: Bedeutsamkeit von Eigeninitiative und Verantwortungsübernahme, gerade in schwierigen Projektphasen.
|
|
|
|
---
|
|
|
|
# Fazit & Ausblick
|
|
- **Erreichtes**:
|
|
- Theme ist final in Oqtane integriert und mobil optimiert.
|
|
- Hall of Fame und Anmeldetool sind voll funktionstüchtig.
|
|
- **Ausblick**:
|
|
- Integration einer umfassenden Teilnehmerlisten-Auswertung (Datenbank).
|
|
- Limit-Funktion für maximale Anmeldungen bei Veranstaltungen.
|
|
- Automatische E-Mail-Erinnerungen für Events.
|