Architecture
Drei Komponenten, ein System
RentIt+ ist als modularer Monolith mit hexagonaler Architektur (Ports & Adapters) implementiert. Drei eng integrierte Komponenten teilen sich ein gemeinsames Domain-Modell und Sync-Protokoll.
Desktop-Client
JavaFX + SQLite
Rich-UI Desktop-Anwendung mit lokaler SQLite-Datenbank pro Client. Bietet echte Offline-Fähigkeit – alle Mutationen werden lokal persistiert und bei Verbindung synchronisiert.
FXML Views + Controllers
Setup-Wizard für Erstkonfiguration
HTTP-Sync-Client je Aggregat
Lokale Mutation-Queue
Inventory Reconciliation
Backend-Server
Spring Boot 3.3 + PostgreSQL 16
Server-autoritative API mit Geschäftsvalidierung. Implementiert das vollständige Sync-Protokoll, hält 24 Datenbanktabellen, und ist die einzige Quelle der Wahrheit für alle Clients.
REST + Sync API
JPA Persistenz-Adapter
JWT Authentifizierung
Flyway Migrationen
Spring Boot Actuator
Admin-Dashboard
Vue 3 + Vite
Web-basierte Single-Page-Application für Echtzeit-Observability. Verbindet sich via Server-Sent Events mit dem Backend und visualisiert Sync-Vorgänge, Konflikte und System-Metriken.
Composition API
SSE Event-Stream
Vue Router + Pinia Store
Standort-Verwaltung
Health & Metrics
Hexagonale Architektur im Überblick
Die Domain bleibt framework-agnostisch. Application Services orchestrieren Use Cases über Ports. Adapter implementieren Infrastruktur-Concerns wie Persistenz, REST und UI. Jede Schicht wird über klar definierte Schnittstellen entkoppelt
