@@ -1,65 +1,92 @@
# Adam Gaiswinkler
## Individueller Teil: Adam Gaiswinkler
**CMS‑ Modul & Frontend**
**Entwicklung von CMS- Modulen & Frontend-Design **
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Moderne Frontend‑ Plattform für den Absolventenverein (responsive, neue Features) .
- **Ausgangssituation**: Bedarf an einer modernen Plattform für den Absolventenverein der HTL Ungargasse .
- **Persönliche Motivation**:
- Team‑ V erkleinerung (6 → 3) → mehr Verantwortung .
- Projekti dentifikation & Praxis‑ Blazor/ASP.NET .
- **Ziele**:
- Oqtane‑ Module (Anmeldetool, Hall‑ of‑ Fame).
- Responsives UI/UX .
- Steigende Verantwortung durch Teamv erkleinerung (von 6 auf 3 Personen) .
- I dentifikation 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
- **Tech‑ Stack**: Bootstrap + Custom‑ CSS, QuestPDF, Gitea, VS 2022 wechsel zu VS Code (macOS).
- **Styling**: Bootstrap & Custom CSS
- **Spezielle Tools**: QuestPDF (PDF-Generierung), Gitea (Versionskontrolle)
- **Entwicklungsumgebung**: Visual Studio 2022 & Visual Studio Code (macOS)
---
## Umsetzung: Oqtane Theme
- Eigen‑ Navigation (bootstrap Komponenten haben nicht gepasst ).
- Systemseiten per LINQ ausblenden.
- Responsive CSS‑ Media‑ Queries + reines CSS‑ Burger‑ Menu .
- ControlPanel & Cookie‑ Consent .
- **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
- **Karten‑ Grid**: Responsive Übersicht, Live‑ Suche & Sortierung .
- **Detail‑ Seite**: Glasmorphismus‑ Design.
- **Workflow**: Rich‑ Text‑ Editor, Bild‑ Upload (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. Eigentümer‑ Check .
- **PDF‑ Export**: QuestPDF .
- **Moderation**: Meldesystem über Interfaces‑ Paket.
## 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: Anmeldetool
- Klar getrennte Ja/Nein‑ Buttons .
- Live‑ Status‑ Updates via Blazor.
- UI‑ Overlay, mobile‑ freundlich .
## 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 .
---
## 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 → macOS → JetBrains Rider.
- **Hosting‑ Probleme**: Node.js/HTML‑ Übergangslösung 2025.
- **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.
---
## Learnings
- **Technisch**: Git, CSS‑ Flexbox, Blazor .
- **Methodisch**: Aufgabenver teilung, regelmäßige Meetings.
- **Persönlich**: Eigeninitiative & Verantwortung.
- **Technisch**: Tieferes Verständnis von Version Control ( Git) , CSS/ Flexbox (Responsiveness) und C#/Blazor -Tiefen .
- **Methodisch**: Eine klare Aufgabenauf teilung 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
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
- **Erweiterungen**: Teilnehmer‑ Ausw ertung, Anmelde‑ Limit, automatische E‑ Mail‑ Erinnerungen .
## Fazit & Mögliche Erweiterungen
- **Erreichtes**:
- Theme ist final in Oqtane integri ert und mobil optimiert .
- Hall of Fame und Anmeldetool sind voll funktionstüchtig.
- **Mögliche Erweiterungen**:
- Integration einer umfassenden Teilnehmerlisten-Auswertung (Datenbank).
- Limit-Funktion für maximale Anmeldungen bei Veranstaltungen.
- Automatische E-Mail-Erinnerungen für Events.