Block 7: REST-Server & Sync (Phase 2) #11

Closed
opened 2026-05-13 12:26:25 +00:00 by jreinemann-euris · 1 comment
jreinemann-euris commented 2026-05-13 12:26:25 +00:00 (Migrated from github.com)

Ziel

REST-Server und App-seitige Sync-Anbindung für Gerätesynchronisierung.

Hinweis

⚠️ Phase 2 – nicht in v1.0. Wird erst nach Abschluss der Blocks 1–6 bearbeitet.

Scope (enthalten)

  • Server-Implementierung (Technologie gemäß Tech-Decision Server-Technologie)
  • REST-API: Endpoints für Sync, Authentifizierung
  • App-seitige Sync-Anbindung (REST-Client in der App)
  • Lokaler Dev-Server im LAN für Tests

Abhängigkeiten

Depends on: Block 2, Tech-Decision Server-Technologie

Akzeptanzkriterien

TBD nach Tech-Decision Server-Technologie.

## Ziel REST-Server und App-seitige Sync-Anbindung für Gerätesynchronisierung. ## Hinweis ⚠️ **Phase 2** – nicht in v1.0. Wird erst nach Abschluss der Blocks 1–6 bearbeitet. ## Scope (enthalten) - Server-Implementierung (Technologie gemäß Tech-Decision Server-Technologie) - REST-API: Endpoints für Sync, Authentifizierung - App-seitige Sync-Anbindung (REST-Client in der App) - Lokaler Dev-Server im LAN für Tests ## Abhängigkeiten Depends on: Block 2, Tech-Decision Server-Technologie ## Akzeptanzkriterien TBD nach Tech-Decision Server-Technologie.
jreinemann-euris commented 2026-05-14 17:29:56 +00:00 (Migrated from github.com)

Planung abgeschlossen

Block 7 wurde in 8 Feature-Tickets zerlegt (in Implementierungsreihenfolge):

Order Issue Titel
211 #39 Shared-Modul: Gemeinsame Datenmodelle
212 #40 Ktor Server: Projekt-Setup & Konfiguration
213 #41 Ktor Server: Datenbank-Schicht (Exposed ORM)
214 #42 Ktor Server: REST-API Endpoints (Sync & CRUD)
215 #43 Ktor Server: Authentifizierung (API-Key)
216 #44 App: Ktor-Client & Sync-Repository
217 #45 App: Sync-UI & Einstellungen
218 #46 Integration: LAN Dev-Server & End-to-End Sync-Test

Architekturentscheidungen

  • Sync-Strategie: Full-Sync (komplettes Inventar hoch/runterladen). Ausreichend fuer 2-10 Geraete, konsistent mit bestehendem Export/Import.
  • Server-Datenbank: H2 file-based via Exposed ORM. Kein externer DB-Server noetig, leichtgewichtig.
  • Authentifizierung: Statischer API-Key. Einfachste Loesung fuer privaten Gebrauch.
  • Shared Module: Pure Kotlin/JVM (kein KMP noetig, beide Targets sind JVM).
  • HTTP-Client (App): Ktor Client mit OkHttp-Engine (Android-optimiert).
  • Deployment: Fat JAR + Docker.

Alle Entscheidungen basieren auf der ADR Server-Technologie (#10).

## Planung abgeschlossen Block 7 wurde in 8 Feature-Tickets zerlegt (in Implementierungsreihenfolge): | Order | Issue | Titel | |-------|-------|-------| | 211 | #39 | Shared-Modul: Gemeinsame Datenmodelle | | 212 | #40 | Ktor Server: Projekt-Setup & Konfiguration | | 213 | #41 | Ktor Server: Datenbank-Schicht (Exposed ORM) | | 214 | #42 | Ktor Server: REST-API Endpoints (Sync & CRUD) | | 215 | #43 | Ktor Server: Authentifizierung (API-Key) | | 216 | #44 | App: Ktor-Client & Sync-Repository | | 217 | #45 | App: Sync-UI & Einstellungen | | 218 | #46 | Integration: LAN Dev-Server & End-to-End Sync-Test | ### Architekturentscheidungen - **Sync-Strategie:** Full-Sync (komplettes Inventar hoch/runterladen). Ausreichend fuer 2-10 Geraete, konsistent mit bestehendem Export/Import. - **Server-Datenbank:** H2 file-based via Exposed ORM. Kein externer DB-Server noetig, leichtgewichtig. - **Authentifizierung:** Statischer API-Key. Einfachste Loesung fuer privaten Gebrauch. - **Shared Module:** Pure Kotlin/JVM (kein KMP noetig, beide Targets sind JVM). - **HTTP-Client (App):** Ktor Client mit OkHttp-Engine (Android-optimiert). - **Deployment:** Fat JAR + Docker. Alle Entscheidungen basieren auf der ADR Server-Technologie (#10).
Sign in to join this conversation.
No description provided.