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