Referenzprojekt für Enterprise Backend- und Webentwicklung
heat-convection-app
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.
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.