01 / Ausgewählte Projekte

Ausgewählte Projekte

Projekte aus den Bereichen Algorithmen, Geodaten-Interfaces, Softwaretests, Full-Stack-Systeme und eingebettete Interaktion.

01

TSP-Algorithmuslabor

Algorithmus-Visualisierung · Full-Stack

TSP-Algorithmuslabor: Christofides-Tour für die TSPLIB-Instanz ch130 (130 Knoten, Tourkosten 7270, 12 ms) in der euklidischen Graphansicht, daneben Instanz-, Algorithmus- und Tourtabellen
Oberfläche / Routenvergleich

Problem

Algorithmusergebnisse lassen sich nur schwer vergleichen, wenn Routenqualität, Laufzeit und Suchverhalten auf verschiedene Werkzeuge verteilt sind.

Was ich gebaut habe

Eine React- und TypeScript-Oberfläche mit einem Java- und Spring-Boot-Backend, das TSPLIB-Instanzen verarbeitet und verschiedene TSP-Verfahren in Graph- und Kartenansichten vergleichbar macht.

Entscheidungsnotiz

Der Datensatz bleibt konstant, während der Algorithmus wechselt. Dadurch bleiben Unterschiede bei Routenqualität und Laufzeit sichtbar.

Was ich gelernt habe

Heuristisches Verhalten lässt sich leichter erklären, wenn der Suchprozess sichtbar wird und nicht nur als Zahlenwert erscheint.

TSP-Algorithmuslabor: Rangvergleich von vier Simulated-Annealing-Implementierungen auf ch130 mit Tourlänge, Laufzeit und Delta je Kandidat
Simulated-Annealing-Vergleich
ReactTypeScriptJavaSpring BootTSPLIBAlgorithmen

Repository ansehen

02

Biodiversity Warehouse

Geodaten · Frontend

Problem

Große Biodiversitätsdatensätze lassen sich nur schwer erkunden, wenn Funddaten, Artfilter und geografischer Kontext voneinander getrennt sind.

Was ich gebaut habe

Eine interaktive Geodaten-Oberfläche, die Artfilter, UTM-basierte Ansichten, geclusterte Funddaten und verschiedene Kartenebenen verbindet.

Biodiversity Warehouse: Filterbereich für Arten, Familien und Ordnungen über der interaktiven UTM-Rasterkarte Deutschlands
Artfilter und UTM-Raster

Entscheidungsnotiz

Je nach Kartenmaßstab unterschiedliche Informationsdichten zeigen, statt alle Datensätze in eine einzige Ansicht zu zwingen.

Biodiversity Warehouse: geclusterte Artennachweise über einem UTM-Raster Deutschlands, mit aktivem Artenfilter und Legende
Gefilterte Datensätze / Clusterverteilung

Was ich gelernt habe

Geodaten-Oberflächen werden verständlicher, wenn Filter, Aggregation und Zoomstufe zusammenspielen.

VueTypeScriptOpenLayersUTM

Projekt ansehen

03

EV-Ladeinfrastruktur

Geodaten · Daten

EV-Ladeinfrastruktur: WebGIS-Übersicht der Region Bremen mit Ladetyp-Steuerung und Karteninformationen
Regionsübersicht
EV-Ladeinfrastruktur: AC- und DC-Ladestationen der Region Bremen, dargestellt über GeoServer WMS
AC- und DC-Stationen
EV-Ladeinfrastruktur: Detail-Popup einer Ladestation mit Betreiber, Adresse, Leistung und Ladepunkten
Stationsdetail

Eine containerisierte WebGIS-Plattform zur Visualisierung von 104.117 deutschen Ladepunkt-Datensätzen mit PostgreSQL und PostGIS, GeoServer-WMS/WFS-Diensten und einer interaktiven OpenLayers-Oberfläche.

Herausforderung

104.117 Ladepunkt-Datensätze bleiben nutzbar, weil PostGIS und GeoServer-WMS nur liefern, was der aktuelle Kartenausschnitt braucht.

Erkenntnis

Datenbank und Kartenserver sollen die schwere Arbeit machen — der Client fragt nur an, statt selbst zu rechnen.

PostGISGeoServerOpenLayersDocker

Repository ansehen

04

Escape-Room-Rätselsystem

Physical Computing

Physischer Eingang → Rätsellogik → Validierung → Servo-Entriegelung

Fertiges physisches Escape-Room-Rätselsystem mit Tasten, Keypad, Anzeigen und modularen Bedienelementen
Fertiges Rätselsystem
Firmware- und Logikübersicht des Escape-Room-Rätselsystems
Firmware-/Logikdiagramm

Ein modulares Arduino-Rätselsystem aus einem Escape-Room-Kursprojekt mit Logikgatter-, Binärumwandlungs- und Codeeingabe-Rätseln sowie LCD-, Servo-, Taster- und Fortschrittssteuerung. Das öffentliche Repository enthält bereinigte Inhalte zu meinen eigenen Beiträgen.

Herausforderung

Verkettete Rätsel deterministisch halten: Taster, Keypad und Anzeigen kommunizieren über I2C, und der Fortschritt geht nur weiter, wenn Verkabelung und Firmware übereinstimmen.

Erkenntnis

Debugging ändert sich, wenn Zustand in Hardware lebt — der Fehler kann in der Schaltung, im Code oder in der Verbindung dazwischen sitzen.

ArduinoC++I2CElectronics

Repository ansehen

05

Spor-Toto-Testautomatisierung

End-to-End-Tests · Softwarequalität

Teststrategie

Die Tests behandeln die Anwendung aus Nutzersicht: Sie starten an der Oberfläche, prüfen geschützte Bereiche und stellen sicher, dass zentrale Abläufe über verschiedene Viewport-Größen hinweg stabil bleiben.

Risikokarte

  1. 01Authentifizierung
  2. 02Geschützte Routen
  3. 03Session-Verhalten
  4. 04Responsive Layouts
  5. 05Regressionssicherheit

Nachweis

tests/route-protection.spec.ts
test("anonymous access to /admin redirects to the login page", async ({ page }) => {
  const admin = new AdminPage(page);
  await admin.goto();
  await expect(page).toHaveURL(/\/giris\?next=%2Fadmin/);
});

Ein echter Check aus der Suite: Ein anonymer Aufruf von /admin muss auf der Login-Seite landen, das ursprüngliche Ziel bleibt erhalten — auch bei manipulierten clientseitigen Sitzungswerten.

  • 3 Spec-Dateien · 9 Szenarien · 15 Testfälle pro Browser-Projekt
  • Chromium · Firefox · WebKit · Mobile Chromium (Pixel 7)
  • GitHub-Actions-Workflow: playwright.yml

Was sie schützt

Die Testsuite schützt Authentifizierungsgrenzen, Navigationsregeln und zentrale Nutzerabläufe vor unbemerkten Regressionen.

Was ich gelernt habe

End-to-End-Tests sind besonders wertvoll, wenn sie Produktrisiken abdecken und nicht nur einzelne UI-Elemente prüfen.

PlaywrightTypeScriptCI/CDPOM

Repository ansehen

06

Fokur Toto Ligi

Produkt · Full-Stack

Fokur Toto Ligi: Startseite der wöchentlichen 1/X/2-Tippliga mit Schnellzugriff auf Tipps, Ergebnisse und Rangliste
Startbildschirm

Eine geschlossene Fußball-Tippplattform mit wöchentlichen 1/X/2-Tipps, Abgabefristen, automatischer Punkteberechnung, Ranglisten, Wochenergebnissen und Spielerhistorie.

Herausforderung

Wöchentliche Runden stehen und fallen mit Vertrauen: Abgabefristen, automatische Punkteberechnung und Ranglisten müssen aus den gespeicherten Tipps reproduzierbar sein.

Erkenntnis

In einem kleinen Liga-Produkt zählt nachvollziehbare Punktevergabe mehr als jedes weitere Feature.

Next.jsReactTypeScriptSupabasePostgreSQL

Repository ansehen

07

Burada — Android-Anwesenheits-App

Frühes Projekt · Android

Systemübersichtsdiagramm der Burada-Android-App für Anwesenheit und Studieninformationen
Systemübersicht (Diagramm)

Meine erste umfangreiche Android-Anwendung und mein Bachelor-Abschlussprojekt aus dem Jahr 2021: ein Java-basierter Prototyp für Anwesenheit und Studieninformationen mit QR-Scanning, Stundenplänen, Noten, Kursmaterialien und Benachrichtigungen. Als historischer Meilenstein meiner Entwicklung erhalten.

Herausforderung

Anwesenheit, Stundenpläne, Noten und Benachrichtigungen als Solo-Projekt in Java und XML — mit dem gesamten Anwendungszustand in SharedPreferences.

Erkenntnis

Was ich heute anders angehen würde: eine klarere Trennung von Daten, Oberfläche und Plattformlogik.

AndroidJavaXMLSharedPreferences

Repository ansehen