neuste version meiner präsi

This commit is contained in:
2026-04-19 18:52:22 +02:00
parent 7eb4e0761e
commit b944048df3
4 changed files with 112 additions and 40 deletions

View File

@@ -3,17 +3,18 @@
## Individueller Teil: Adam Gaiswinkler
**Entwicklung von CMSModulen & Frontend-Design**
- Schwerpunkt: Oqtane-Theme, Hall-of-Fame-Modul & Anmeldetool
- Ziel: Moderne, responsive Website für den HTL-Absolventenverein
<!-- BILD: Logo HTL Ungargasse + Vereinslogo nebeneinander -->
- **Schwerpunkt**:
- Oqtane-Theme
- Hall-of-Fame-Modul
- Anmeldetool
- **Ziel**: Moderne, responsive Website für den HTL-Absolventenverein
---
## Ausgangslage & Motivation
- **Ausgangssituation**: Moderne FrontendPlattform für den Absolventenverein (responsive, neue Features).
- **Persönliche Motivation**:
- TeamVerkleinerung (6 → 3) → mehr Verantwortung.
- TeamVerkleinerung (63) → mehr Verantwortung.
- Projektidentifikation & PraxisBlazor/ASP.NET.
- **Ziele**:
- OqtaneModule (Anmeldetool, HallofFame).
@@ -22,67 +23,138 @@
---
## Eingesetzte Technologien
- **TechStack**: Bootstrap+CustomCSS, QuestPDF, Gitea, VS2022wechsel zu VSCode (macOS).
<!-- BILD: Logos der verwendeten Tools (Bootstrap, QuestPDF, Gitea, VS Code) nebeneinander -->
::: columns
:::: column
- **TechStack**:
- Bootstrap
- CustomCSS
- QuestPDF
- Gitea
- Visual Studio 2022 → Visual Studio Code (macOS).
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.8\columnwidth]{Images/Technologien.png}};
\end{tikzpicture}
::::
:::
---
## Umsetzung: Oqtane Theme
## Oqtane Theme
::: columns
:::: column
- EigenNavigation (bootstrap Komponenten haben nicht gepasst ).
- Systemseiten per LINQ ausblenden.
- Responsive CSSMediaQueries + reines CSSBurgerMenu.
- ControlPanel & CookieConsent.
![Theme Burger Ansicht](Images/ThemeBurgerMenu.png)
<!-- BILD: Screenshot der Website-Navigation auf Desktop (volle Menüleiste) -->
<!-- BILD: Screenshot des Burger-Menüs auf Mobile (aufgeklappt) -->
- CookieConsent (erforderlich für dsgvo konformität und gesamtheit der website ).
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.55\columnwidth]{Images/BurgerMenuLiveDesign.png}};
\end{tikzpicture}
::::
:::
---
## Umsetzung: Hall of Fame
## Hall of Fame
::: columns
:::: column
- **KartenGrid**: Responsive Übersicht, LiveSuche & Sortierung **in Echtzeit kein Seitenreload** (Blazor).
- **DetailSeite**: GlasmorphismusDesign (halbtransparente Karten mit Blur-Effekt).
- **Workflow**: RichTextEditor, BildUpload mit **Live-Vorschau** (max5MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- **PDFExport**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
- **Moderation**: Meldesystem über separates InterfacesPaket → saubere Logik-Trennung.
![Screenshot eines generierten PDFs](Images/HallOfFameBeispiel.png)
![Screenshot HallOfFame](Images/HallOfFame.png)
<!-- BILD: Screenshot des Karten-Grids mit mehreren Alumni-Einträgen -->
<!-- BILD: Screenshot der Detailseite (Glasmorphismus-Design) -->
<!-- BILD: Screenshot eines generierten PDFs -->
::::
:::: column
\begin{tikzpicture}
\node[inner sep=0pt, rounded corners=5pt, clip] {\includegraphics[width=0.55\columnwidth]{Images/HallOfFameBeispiel.png}};
\end{tikzpicture}
::::
:::
---
## Umsetzung: Anmeldetool
- Klar getrennte Ja/NeinButtons (grün/rot).
- **LiveFeedback via Blazor**: Statusänderungen sofort sichtbar andere Teilnehmer sehen Updates direkt.
- Mobile-optimiert: kein Overlay-Clipping, sauberes Touch-Handling.
- Saubere Trennung: UI-Komponente & Backend-API getrennt.
## Hall of Fame Workflow & Export
<!-- BILD: Screenshot Anmeldetool mit gruenem Ja- und rotem Nein-Button -->
<!-- BILD: Screenshot auf Mobile (Overlay-Ansicht) -->
::: columns
:::: column
- **Workflow**: RichTextEditor, BildUpload mit **Live-Vorschau** (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- **PDFExport**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
- **Moderation**: Meldesystem über separates InterfacesPaket → saubere Logik-Trennung.
::::
:::: column
\begin{tikzpicture}[
node distance=12mm,
every node/.style={font=\small},
state/.style={rectangle, rounded corners=3pt, draw=accent, fill=accent!10, minimum width=2.4cm, minimum height=8mm, align=center, font=\small\bfseries},
arr/.style={->,>=stealth,thick,accent}
]
\node[coordinate] (start) {};
\node[state, right=10mm of start] (draft) {Entwurf};
\node[state, below=18mm of draft] (pub) {Veröffentlicht};
\draw[arr] (start) -- node[above] {\scriptsize Erstellen} (draft);
\draw[arr] (draft) to[out=135, in=45, looseness=4] node[above] {\scriptsize Speichern} (draft);
\draw[arr, bend left=25] (draft) to node[right] {\scriptsize Veröffentlichen} (pub);
\draw[arr, bend left=25] (pub) to node[left] {\scriptsize Zurückziehen} (draft);
\end{tikzpicture}
::::
:::
---
## Anmeldetool
- **UI**: Ja/NeinButtons (grün/rot)
- **LiveFeedback**: Sofortige Statusänderung via Blazor
- **Mobile**: Sauberes Touch-Handling
- **Architektur**: UI & Backend-API getrennt
---
## Herausforderungen & Lösungen
- **Plattformwechsel** Windows → macOS: Oqtane stark an Windows gebunden → **Visual Studio Code** als plattformübergreifende Lösung.
- **Hosting-Ausfall** (Hetzner, Sommer 2025): kurz vor einem Event → schnelle **Node.js/HTML-Übergangslösung** sicherte Event-Anmeldung.
<!-- BILD: Screenshot von Visual Studio Code auf macOS -->
- **Plattformwechsel** Windows → macOS
- Oqtane stark an Windows gebunden
-**Visual Studio Code** als plattformübergreifende Lösung
- **Keine funktionsfähige Website** (Sommer 2025)
- Kurz vor einem Event, kein funktionierendes CMS
- → Schnelle **Node.js/HTML-Übergangslösung** sicherte Event-Anmeldung
---
## Learnings
- **Technisch**: Git, CSSFlexbox, Blazor.
- **Methodisch**: Aufgabenverteilung, regelmäßige Meetings.
- **Persönlich**: Eigeninitiative & Verantwortung.
\vspace{1cm}
\begin{tikzpicture}[remember picture, overlay]
\node at (current page.center) {
\renewcommand{\arraystretch}{1.5}
\begin{tabular}{c c c}
\textbf{Technisch} & \textbf{Methodisch} & \textbf{Persönlich} \\
\hline
Git & Aufgabenverteilung & Eigeninitiative \\
CSS-Flexbox & Regelmäßige Meetings & Verantwortung \\
Blazor & & \\
\end{tabular}
};
\end{tikzpicture}
---
## Fazit & Ausblick
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
- **Erweiterungen**: TeilnehmerAuswertung, AnmeldeLimit, automatische EMailErinnerungen.
<!-- BILD: Gesamtansicht der fertigen Website (Desktop) als Abschluss-Screenshot -->
- **Ergebnis**:
- Theme final & mobil-optimiert
- Hall of Fame funktionsfähig
- Anmeldetool einsatzbereit

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB