Compare commits

...

12 Commits

Author SHA1 Message Date
ea9479628c Testing...
Some checks failed
build-debian-package / Build the debian package (push) Failing after 36s
Word Count / count-words (push) Failing after 1m1s
2026-04-17 10:22:23 +02:00
aa704577ad Use Prebuilt Container
Some checks failed
Word Count / count-words (push) Failing after 1m35s
2026-04-16 23:07:22 +02:00
15eb9d9d5e Install Mermaid CLI
Some checks failed
build-debian-package / Build the debian package (push) Failing after 7m45s
Word Count / count-words (push) Failing after 37s
2026-04-16 22:34:42 +02:00
f11fcb68fe Fix: pipeline
Some checks failed
Word Count / count-words (push) Failing after 35s
2026-04-16 22:24:19 +02:00
8da8374a1b kürzere version der präsi
Some checks failed
Word Count / count-words (push) Failing after 37s
2026-04-16 21:31:38 +02:00
d397f0cd60 Revert addition of presentation to lib folder
Some checks failed
Word Count / count-words (push) Failing after 38s
2026-04-16 21:18:18 +02:00
b450fd6475 Add concise presentation to lib folder
Some checks failed
Word Count / count-words (push) Failing after 34s
2026-04-16 21:17:16 +02:00
6789fa6f9d install texlive as well
Some checks failed
Word Count / count-words (push) Has been cancelled
build-debian-package / Build the debian package (push) Failing after 2m11s
2026-04-16 19:23:12 +02:00
2061cdc218 Test
Some checks failed
build-debian-package / Build the debian package (push) Failing after 3m24s
Word Count / count-words (push) Failing after 36s
2026-04-16 19:16:52 +02:00
6b0c4f7884 Update: Tag
Some checks failed
build-debian-package / Build the debian package (push) Failing after 14s
Word Count / count-words (push) Failing after 40s
2026-04-16 19:13:54 +02:00
ad47997aab New: Pandoc pipeline
Some checks failed
Word Count / count-words (push) Failing after 43s
2026-04-16 19:12:42 +02:00
b337833410 New: use Fork 2026-04-16 19:11:50 +02:00
4 changed files with 102 additions and 62 deletions

View File

@@ -0,0 +1,28 @@
name: build-debian-package
on:
push:
tags:
- "doc-*"
jobs:
build:
name: Build the debian package
runs-on: ubuntu-latest
steps:
- name: "Git clone"
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
- name: "Git checkout"
run: git checkout "${{ gitea.sha }}"
- name: "Submodules auschecken"
run: git submodule update --init
- uses: docker://pandoc/core:3.8
with:
args: "--help" # gets appended to pandoc command
- name: "Build .deb"
run: cd ./Defensio && ./pandoc.sh
- name: "Create release"
uses: akkuman/gitea-release-action@v1
with:
files: |-
./Defensio/defensio.pdf

2
.gitmodules vendored
View File

@@ -1,6 +1,6 @@
[submodule "Defensio/libs/awesome-beamer"] [submodule "Defensio/libs/awesome-beamer"]
path = Defensio/libs/awesome-beamer path = Defensio/libs/awesome-beamer
url = https://codeberg.org/LukasPietzschmann/awesome-beamer url = https://git.kocoder.xyz/kocoded/awesome-beamer
[submodule "Defensio/libs/smile"] [submodule "Defensio/libs/smile"]
path = Defensio/libs/smile path = Defensio/libs/smile
url = https://codeberg.org/LukasPietzschmann/smile url = https://codeberg.org/LukasPietzschmann/smile

View File

@@ -9,6 +9,7 @@ Aufgabenbereiche:
- Infrastruktur & CI/CD - Infrastruktur & CI/CD
- Product Owner - Product Owner
- Kundenschnittstelle
- Softwareentwicklung: - Softwareentwicklung:
- Event Registration - Event Registration
- Black Board - Black Board
@@ -18,13 +19,20 @@ Aufgabenbereiche:
:::: column :::: column
![](./Images/images/konstantin/profile.jpg){width=4em} \begin{tikzpicture}
\clip (0,0) circle (3em);
\node at (0,0) {\includegraphics[width=6em]{./Images/images/konstantin/profile.jpg}};
\draw[accent, line width=3pt] (0,0) circle (3em);
\end{tikzpicture}
:::: ::::
::: :::
## Infrastruktur & CI/CD ## Infrastruktur
::: columns
:::: column
Systemaufbau: Systemaufbau:
@@ -33,18 +41,47 @@ Systemaufbau:
- NginX - NginX
- Asp.Net Core - Asp.Net Core
::::
:::: column
Entwicklungsumgebung:
- Gitea Server
- Wireguard
- Docker
- Transfer: GitHub
- Gitea Actions
::::
:::
## CI/CD
CI: CI:
- Gitea Actions - Gitea Actions
- Debian Packages (.deb) - Debian Packages (.deb)
- Code-Reviewing:
- KI
- Git-Flow
## Softwarearchitektur ## Softwarearchitektur
- Open-Closed Principle - Open-Closed Principle
- Strategy Pattern
- Dependency Injection - Dependency Injection
## Technischer Vergleich ## Technischer Vergleich
Bisherige Erfahrungen:
- Go
- Typescript
- GRPC (interprozess Kommunikation)
Untersuchungsgebiete:
- Typisierung - Typisierung
- Konsistenz - Konsistenz
@@ -61,3 +98,5 @@ right
:::: ::::
::: :::
## Fazit

View File

@@ -1,92 +1,65 @@
# Adam Gaiswinkler # Adam Gaiswinkler
## Individueller Teil: Adam Gaiswinkler ## Individueller Teil: Adam Gaiswinkler
**Entwicklung von CMS-Modulen & Frontend-Design** **CMSModul & Frontend**
--- ---
## Ausgangslage & Motivation ## Ausgangslage & Motivation
- **Ausgangssituation**: Bedarf an einer modernen Plattform für den Absolventenverein der HTL Ungargasse. - **Ausgangssituation**: Moderne FrontendPlattform für den Absolventenverein (responsive, neue Features).
- **Persönliche Motivation**: - **Persönliche Motivation**:
- Steigende Verantwortung durch Teamverkleinerung (von 6 auf 3 Personen). - TeamVerkleinerung (63) → mehr Verantwortung.
- Identifikation mit dem Projekt wuchs deutlich. - Projektidentifikation & PraxisBlazor/ASP.NET.
- Praktische Anwendung von Blazor & ASP.NET in einem realen Umfeld. - **Ziele**:
- **Individuelle Ziele**: - OqtaneModule (Anmeldetool, HallofFame).
- Entwicklung von Oqtane-Modulen (Anmeldetool & Hall of Fame). - Responsives UI/UX.
- Web-Entwicklung mit Fokus auf responsives und nutzerfreundliches UI/UX.
--- ---
## Eingesetzte Technologien ## Eingesetzte Technologien
- **TechStack**: Bootstrap+CustomCSS, QuestPDF, Gitea, VS2022wechsel zu VSCode (macOS).
- **Styling**: Bootstrap & Custom CSS
- **Spezielle Tools**: QuestPDF (PDF-Generierung), Gitea (Versionskontrolle)
- **Entwicklungsumgebung**: Visual Studio 2022 & Visual Studio Code (macOS)
--- ---
## Umsetzung: Oqtane Theme ## Umsetzung: Oqtane Theme
- **Ziel**: Modernes, schlichtes Design im Stil der HTL Ungargasse (szu.at). - EigenNavigation (bootstrap Komponenten haben nicht gepasst ).
- **Technische Highlights**: - Systemseiten per LINQ ausblenden.
- Vollständige Eigenentwicklung der Navigationslogik (über `PageState.Pages`). - Responsive CSSMediaQueries + reines CSSBurgerMenu.
- **Dynamisches Ausblenden von Systemseiten via LINQ**. - ControlPanel & CookieConsent.
- **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) ## Umsetzung: Hall of Fame
- **Zweck**: Sichtbarmachung von erfolgreichen Absolventinnen und Absolventen. - **KartenGrid**: Responsive Übersicht, LiveSuche & Sortierung.
- **UI & UX**: - **DetailSeite**: GlasmorphismusDesign.
- Responsive Kartenübersicht der Personen mit Such- und Sortierfunktion (Echtzeit). - **Workflow**: RichTextEditor, BildUpload (max5MB), Status (Entwurf/Veröffentlicht) inkl. EigentümerCheck.
- Detailseite im modernen "Glasmorphismus"-Design. - **PDFExport**: QuestPDF.
- **Datenerfassung & Workflow**: - **Moderation**: Meldesystem über InterfacesPaket.
- 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) ## Umsetzung: Anmeldetool
- **PDF-Export**: Dynamische Generierung eines ansprechenden Profil-PDFs mittels *QuestPDF*. - Klar getrennte Ja/NeinButtons.
- **Moderation**: - LiveStatusUpdates via Blazor.
- Integriertes Meldesystem (Reporting) direkt über ein separates Interfaces-Paket angesteuert. - UIOverlay, mobilefreundlich.
---
## 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 ## Herausforderungen & Lösungen
- **Plattformwechsel (Windows zu macOS)**: Oqtane ist stark an Windows gekoppelt; gelöst durch Einsatz von JetBrains Rider. - **Plattformwechsel**: Windows → macOS JetBrainsRider.
- **Zeitdruck & Infrastruktur-Ausfälle**: - **HostingProbleme**: Node.js/HTMLÜbergangslösung 2025.
- Probleme mit Hosting (Hetzner).
- **Lösung**: Entwicklung einer schlanken "Übergangslösung" (Node.js/HTML) im Sommer 2025 zur zeitgerechten Event-Abwicklung.
--- ---
## Learnings ## Learnings
- **Technisch**: Tieferes Verständnis von Version Control (Git), CSS/Flexbox (Responsiveness) und C#/Blazor-Tiefen. - **Technisch**: Git, CSSFlexbox, Blazor.
- **Methodisch**: Eine klare Aufgabenaufteilung sowie regelmäßige Team-Meetings sind unerlässlich für den Projekterfolg. - **Methodisch**: Aufgabenverteilung, regelmäßige Meetings.
- **Persönlich**: Bedeutsamkeit von Eigeninitiative und Verantwortungsübernahme, gerade in schwierigen Projektphasen. - **Persönlich**: Eigeninitiative & Verantwortung.
--- ---
## Fazit & Mögliche Erweiterungen ## Fazit & Ausblick
- **Erreichtes**: - Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
- Theme ist final in Oqtane integriert und mobil optimiert. - **Erweiterungen**: TeilnehmerAuswertung, AnmeldeLimit, automatische EMailErinnerungen.
- 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.