Compare commits
36 Commits
0.0.0-0
...
doc-0.0.0-
| Author | SHA1 | Date | |
|---|---|---|---|
| eb9b4c4c1f | |||
| 2cd24abcde | |||
| c030d304f5 | |||
| b950ec6d66 | |||
| c52d5b3303 | |||
| f87090357c | |||
| 8bedef1f85 | |||
| c966caf7f9 | |||
| c19ae8a982 | |||
| 26d56c0d24 | |||
| f5223405a5 | |||
| 7ab7e9e25d | |||
| 370942efe1 | |||
| 490912aaca | |||
| 6d15ab6b0a | |||
| aa1353adce | |||
| bbb2f94944 | |||
| f25d6be858 | |||
| b2d89e7830 | |||
| c4d0bb1a9a | |||
| 2aeb5f2f8f | |||
| 8a150208dd | |||
| 6798cbf877 | |||
| 63f9f721a2 | |||
| ea9479628c | |||
| 4ddb7d8904 | |||
| aa704577ad | |||
| 15eb9d9d5e | |||
| f11fcb68fe | |||
| 37262ff470 | |||
| 8da8374a1b | |||
| d397f0cd60 | |||
| b450fd6475 | |||
| 6789fa6f9d | |||
| 2061cdc218 | |||
| 6b0c4f7884 |
@@ -2,12 +2,13 @@ name: build-debian-package
|
|||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
tags:
|
tags:
|
||||||
- "doc:*"
|
- "doc-*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
name: Build the debian package
|
name: Build the debian package
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: "Git clone"
|
- name: "Git clone"
|
||||||
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
|
run: git clone ${{ gitea.server_url }}/${{ gitea.repository }}.git .
|
||||||
@@ -15,14 +16,28 @@ jobs:
|
|||||||
run: git checkout "${{ gitea.sha }}"
|
run: git checkout "${{ gitea.sha }}"
|
||||||
- name: "Submodules auschecken"
|
- name: "Submodules auschecken"
|
||||||
run: git submodule update --init
|
run: git submodule update --init
|
||||||
|
- uses: docker://git.kocoder.xyz/docker/ga-pandoc:c6eaa45b623c284e80f37434872621defc00f864
|
||||||
- name: "Install dependencies"
|
name: Pandoc
|
||||||
run: sudo apt-get install pandoc
|
with:
|
||||||
|
env: TEXINPUTS=.:./libs/awesome-beamer/:./libs/smile/
|
||||||
- name: "Build .deb"
|
command: pandoc
|
||||||
run: cd ./Defensio && ./pandoc.sh
|
args: >-
|
||||||
|
./Defensio/01_Praesentation_Allgemein.md \
|
||||||
|
./Defensio/02_Praesentation_Konstantin_Hintermayer.md \
|
||||||
|
./Defensio/03_Praesentation_Florian_Edlmayer.md \
|
||||||
|
./Defensio/04_Praesentation_Adam_Gaiswinkler.md \
|
||||||
|
-t beamer \
|
||||||
|
--template ./Defensio/00_preamble.tex \
|
||||||
|
--pdf-engine=pdflatex \
|
||||||
|
--slide-level=2 \
|
||||||
|
--number-sections \
|
||||||
|
--lua-filter ./_extensions/diagram/diagram.lua \
|
||||||
|
--syntax-definition ./_extensions/razor/razor.xml \
|
||||||
|
--syntax-definition ./_extensions/nginx/nginx.xml \
|
||||||
|
-o defensio.pdf
|
||||||
- name: "Create release"
|
- name: "Create release"
|
||||||
uses: akkuman/gitea-release-action@v1
|
uses: akkuman/gitea-release-action@v1
|
||||||
with:
|
with:
|
||||||
files: |-
|
files: |-
|
||||||
./Defensio/defensio.pdf
|
./Defensio/defensio.pdf
|
||||||
|
./Defensio/Images/*
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
name: Word Count
|
name: Word Count
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
|
||||||
branches: [ "main", "master" ]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches: [ "main", "master" ]
|
branches: [ "main", "master" ]
|
||||||
|
|
||||||
|
|||||||
@@ -67,7 +67,7 @@
|
|||||||
|
|
||||||
\title[AlumniHub]{AlumniHub}
|
\title[AlumniHub]{AlumniHub}
|
||||||
\subtitle{Web-Entwicklung für den Absolventenverein}
|
\subtitle{Web-Entwicklung für den Absolventenverein}
|
||||||
\author{Konstantin Hintermayer \\ Adam Gaiswinkler \\ Florian Edlmayer}
|
\author{Konstantin Hintermayer \\ Florian Edlmayer \\ Adam Gaiswinkler}
|
||||||
\email{}
|
\email{}
|
||||||
\institute{Schulzentrum HTL HAK Ungargasse}
|
\institute{Schulzentrum HTL HAK Ungargasse}
|
||||||
\uni{Schulzentrum HTL HAK Ungargasse}
|
\uni{Schulzentrum HTL HAK Ungargasse}
|
||||||
|
|||||||
@@ -1,92 +0,0 @@
|
|||||||
# Adam Gaiswinkler
|
|
||||||
|
|
||||||
## 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
|
|
||||||
|
|
||||||
- **Styling**: Bootstrap & Custom CSS
|
|
||||||
- **Spezielle Tools**: QuestPDF (PDF-Generierung), Gitea (Versionskontrolle)
|
|
||||||
- **Entwicklungsumgebung**: Visual Studio 2022 & Visual Studio Code (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.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 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.
|
|
||||||
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## 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 & Mögliche Erweiterungen
|
|
||||||
- **Erreichtes**:
|
|
||||||
- Theme ist final in Oqtane integriert 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.
|
|
||||||
88
Defensio/04_Praesentation_Adam_Gaiswinkler.md
Normal file
88
Defensio/04_Praesentation_Adam_Gaiswinkler.md
Normal file
@@ -0,0 +1,88 @@
|
|||||||
|
# Adam Gaiswinkler
|
||||||
|
|
||||||
|
## Individueller Teil: Adam Gaiswinkler
|
||||||
|
**Entwicklung von CMS‑Modulen & 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 -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Ausgangslage & Motivation
|
||||||
|
- **Ausgangssituation**: Moderne Frontend‑Plattform für den Absolventenverein (responsive, neue Features).
|
||||||
|
- **Persönliche Motivation**:
|
||||||
|
- Team‑Verkleinerung (6 → 3) → mehr Verantwortung.
|
||||||
|
- Projektidentifikation & Praxis‑Blazor/ASP.NET.
|
||||||
|
- **Ziele**:
|
||||||
|
- Oqtane‑Module (Anmeldetool, Hall‑of‑Fame).
|
||||||
|
- Responsives UI/UX.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Eingesetzte Technologien
|
||||||
|
- **Tech‑Stack**: Bootstrap + Custom‑CSS, QuestPDF, Gitea, VS 2022 wechsel zu VS Code (macOS).
|
||||||
|
|
||||||
|
<!-- BILD: Logos der verwendeten Tools (Bootstrap, QuestPDF, Gitea, VS Code) nebeneinander -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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.
|
||||||
|

|
||||||
|
<!-- BILD: Screenshot der Website-Navigation auf Desktop (volle Menüleiste) -->
|
||||||
|
<!-- BILD: Screenshot des Burger-Menüs auf Mobile (aufgeklappt) -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Umsetzung: Hall of Fame
|
||||||
|
- **Karten‑Grid**: Responsive Übersicht, Live‑Suche & Sortierung **in Echtzeit – kein Seitenreload** (Blazor).
|
||||||
|
- **Detail‑Seite**: Glasmorphismus‑Design (halbtransparente Karten mit Blur-Effekt).
|
||||||
|
- **Workflow**: Rich‑Text‑Editor, Bild‑Upload mit **Live-Vorschau** (max 5 MB), Status (Entwurf/Veröffentlicht) inkl. Eigentümer‑Check.
|
||||||
|
- **PDF‑Export**: Professionelle Profil-PDFs server-seitig mit QuestPDF.
|
||||||
|
- **Moderation**: Meldesystem über separates Interfaces‑Paket → saubere Logik-Trennung.
|
||||||
|

|
||||||
|

|
||||||
|
<!-- BILD: Screenshot des Karten-Grids mit mehreren Alumni-Einträgen -->
|
||||||
|
<!-- BILD: Screenshot der Detailseite (Glasmorphismus-Design) -->
|
||||||
|
<!-- BILD: Screenshot eines generierten PDFs -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Umsetzung: Anmeldetool
|
||||||
|
- Klar getrennte Ja/Nein‑Buttons (grün/rot).
|
||||||
|
- **Live‑Feedback 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.
|
||||||
|
|
||||||
|
<!-- BILD: Screenshot Anmeldetool mit gruenem Ja- und rotem Nein-Button -->
|
||||||
|
<!-- BILD: Screenshot auf Mobile (Overlay-Ansicht) -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 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 -->
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Learnings
|
||||||
|
- **Technisch**: Git, CSS‑Flexbox, Blazor.
|
||||||
|
- **Methodisch**: Aufgabenverteilung, regelmäßige Meetings.
|
||||||
|
- **Persönlich**: Eigeninitiative & Verantwortung.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Fazit & Ausblick
|
||||||
|
- Theme final, mobil, Hall of Fame & Anmeldetool funktionsfähig.
|
||||||
|
- **Erweiterungen**: Teilnehmer‑Auswertung, Anmelde‑Limit, automatische E‑Mail‑Erinnerungen.
|
||||||
|
|
||||||
|
<!-- BILD: Gesamtansicht der fertigen Website (Desktop) als Abschluss-Screenshot -->
|
||||||
|
|
||||||
|
|
||||||
BIN
Defensio/Images/HallOfFame.png
Normal file
BIN
Defensio/Images/HallOfFame.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.9 MiB |
BIN
Defensio/Images/HallOfFameBeispiel.png
Normal file
BIN
Defensio/Images/HallOfFameBeispiel.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.7 MiB |
BIN
Defensio/Images/ThemeBurgerMenu.png
Normal file
BIN
Defensio/Images/ThemeBurgerMenu.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 27 KiB |
Submodule Defensio/libs/awesome-beamer updated: 8be8423ee5...e282972eb1
@@ -3,8 +3,8 @@ export TEXINPUTS=".:./libs/awesome-beamer/:./libs/smile/:$TEXINPUTS"
|
|||||||
pandoc \
|
pandoc \
|
||||||
01_Praesentation_Allgemein.md \
|
01_Praesentation_Allgemein.md \
|
||||||
02_Praesentation_Konstantin_Hintermayer.md \
|
02_Praesentation_Konstantin_Hintermayer.md \
|
||||||
03_Praesentation_Adam_Gaiswinkler.md \
|
03_Praesentation_Florian_Edlmayer.md \
|
||||||
04_Praesentation_Florian_Edlmayer.md \
|
04_Praesentation_Adam_Gaiswinkler.md \
|
||||||
-t beamer \
|
-t beamer \
|
||||||
--template 00_preamble.tex \
|
--template 00_preamble.tex \
|
||||||
--pdf-engine=pdflatex \
|
--pdf-engine=pdflatex \
|
||||||
|
|||||||
31
defensio.md
31
defensio.md
@@ -1,31 +0,0 @@
|
|||||||
% Habits
|
|
||||||
% John Doe
|
|
||||||
% March 22, 2005
|
|
||||||
|
|
||||||
# In the morning
|
|
||||||
|
|
||||||
## Getting up
|
|
||||||
|
|
||||||
- Turn off alarm
|
|
||||||
- Get out of bed
|
|
||||||
|
|
||||||
## Breakfast
|
|
||||||
|
|
||||||
- Eat eggs
|
|
||||||
- Drink coffee
|
|
||||||
|
|
||||||
# In the evening
|
|
||||||
|
|
||||||
## Dinner
|
|
||||||
|
|
||||||
- Eat spaghetti
|
|
||||||
- Drink wine
|
|
||||||
|
|
||||||
------------------
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
## Going to sleep
|
|
||||||
|
|
||||||
- Get in bed
|
|
||||||
- Count sheep
|
|
||||||
@@ -1,26 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
pandoc \
|
|
||||||
00-praemble.md \
|
|
||||||
01-toc.md \
|
|
||||||
02-Allgemein.md \
|
|
||||||
03-Diplomarbeitsbuch-individueller-teil-Adam-Gaiswinkler.md \
|
|
||||||
04-Diplomarbeitsbuch-individueller-teil-Florian-Edlmayer.md \
|
|
||||||
05-Diplomarbeitsbuch-individueller-teil-Konstantin-Hintermayer.md \
|
|
||||||
97-tabellenverzeichnis.md \
|
|
||||||
98-abbildungsverzeichnis.md \
|
|
||||||
99-bibliographie.md \
|
|
||||||
--number-sections \
|
|
||||||
--lua-filter _extensions/diagram/diagram.lua \
|
|
||||||
--syntax-definition _extensions/razor/razor.xml \
|
|
||||||
--syntax-definition _extensions/nginx/nginx.xml \
|
|
||||||
--citeproc \
|
|
||||||
--bibliography sources.bib \
|
|
||||||
--csl _extensions/sources/tgm.csl \
|
|
||||||
--include-before-body 00_preamble.tex \
|
|
||||||
-H _extensions/header/header.tex \
|
|
||||||
-V geometry:"top=2.5cm, bottom=2cm, left=3cm, right=2cm, a4paper" \
|
|
||||||
-V toc-title="Inhaltsverzeichnis" \
|
|
||||||
-V classoption=twoside \
|
|
||||||
-V fontsize=12pt \
|
|
||||||
-V linestretch=1.5 \
|
|
||||||
-o diplomarbeitsbuch.tex
|
|
||||||
Reference in New Issue
Block a user