Referenzprojekt für Enterprise Backend- und Webentwicklung

heat-convection-app

Schematische Darstellung der heat-convection-app. Im Zentrum befindet sich das fachliche Modell des konvektiven Wärmeübergangs an einer längs überströmten Platte. Elliptisch darum angeordnet sind typische Bausteine einer Spring Boot-Enterprise-Anwendung wie Persistenz, Logik, Security, Authentication, Web, API, Konfiguration, Monitoring, Deployment und CI/CD.
Die heat-convection-app verbindet eine technische Fachdomäne mit typischen Bausteinen moderner Spring Boot-Anwendungen.

Kurzbeschreibung

Die heat-convection-app ist mein zweites Referenzprojekt im Rahmen meiner beruflichen Neuorientierung als Backend- und Webentwickler.

Als Erweiterung zur heat-conduction-app, die den Fokus auf die Übersetzung eines technischen Modells in eine moderne Webanwendung legt, steht hier die Entwicklung einer Enterprise-orientierten Anwendung mit Java und Spring Boot im Mittelpunkt.

Das Projekt verbindet ein ingenieurwissenschaftliches Berechnungsmodell mit den Anforderungen einer Geschäftsanwendung:

  • strukturierte Persistenz
  • automatisierte Tests
  • Datenmigration
  • reproduzierbare Deployments
  • schrittweise Weiterentwicklung der Systemarchitektur

Engineering x Software Enterprise Development Technische Fachdomäne Spring Boot - JPA - PostgreSQL - Thymeleaf - Docker

Ziel

Demonstration, wie eine technische Fachdomäne mit Java und Spring Boot in eine robuste, wartbare und erweiterbare Webanwendung überführt werden kann.

Fokus

Referenzimplementierung für Enterprise-orientierte Backend-Entwicklung mit Spring Boot, Datenpersistenz, automatisierten Tests und schrittweiser Weiterentwicklung der Systemarchitektur.

Rolle

Zentrales Referenzprojekt meines Portfolios zur Positionierung als Backend- und Webentwickler mit Schwerpunkt Java, Spring Boot und technischen Fachdomänen.

Projektstruktur

Die Anwendung folgt einer Schichtenarchitektur und trennt fachliche Logik, Persistenz, API und Weboberfläche voreinander.

Die Berechnungslogik ist unabhängig von der Web- oder Datenbankanbindung implementiert und kann dadurch isoliert getestet und schrittweise erweitert werden.

src/main
├── api
├── config
├── domain
├── persistence
└── web

Diese Struktur bildet die Grundlage für die weiteren Entwicklungsphasen und erleichtert die spätere Erweiterung um zusätzliche Berechnungsmodelle oder alternative Benutzeroberflächen.

Persistenz

Für die Datenpersistenz kommen Spring Data JPA, Hibernate und PostgreSQL zum Einsatz. Datenbankschema werden versioniert überFlyway-Migrationen verwaltet und können dadurch reproduzierbar aufgebaut werden.

Für automatisierte Tests wird ein separates H2-Profil verwendet, wodurch Repository-Tests unabhängig von der produktiven Datenbank ausgeführt werden können.

Screenshot der hinterlegten Stoffwerte.
Screenshot der hinterlegten Stoffwerte.

Die Datenbank umfasst aktuell die Verwaltung temperaturabhängiger Stoffwerte, die als Grundlage für die Konvektionsberechnung dienen.

CI/CD mit Woodpecker Ci

Die Anwendung wird containerisiert betrieben und auf einem VPS bereitgestellt. Docker Compose orchestriert Spring Boot, PostgreSQL und nginx, während HTTPS über Let's Encrypt abgesichert wird.

Jeder Push wird automatisch durch Woodpecker CI validiert. Nach erfolgreicher Prüfung erfolgt das Deployment über eine schlanke Continuous-Deployment-Pipeline auf den Server. Dadurch entsteht ein reproduzierbarer Entwicklungs- und Bereitstellungsprozess.

Physikalisch-technischer Hintergrund

Die Anwendung basiert auf vereinfachten Modellen der erzwungenen Konvektion und berechnet dimensionslose Kennzahlen wie Reynolds-, Prandtl- und Nusselt-Zahl sowie den Wärmeübergangskoeffizienten.

Eine ausführliche Beschreibung der physikalischen Modelle und ihrer ingenieurwissenschaftlichen Einordnung wird in einem späteren Projektbeitrag ergänzt.

Weiterführende Links

Der aktuelle Stand der heat-convection-app ist im Repository verfügbar, die Anwendung läuft produktiv unter einer eigenen Subdomain.