Files
pm/Praesentation_Adam_Gaiswinkler.md

3.9 KiB

marp, theme, paginate
marp theme paginate
true default 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.