Krisenvorrat Inventar-App – Android-App (Kotlin) zur Verwaltung eines Krisenvorrats-Inventars
Find a file
Jens Reinemann a972ce34ca feat(settings): add sync UI with server configuration and push/pull actions
Closes #45

SettingsScreen:
- Server-URL and API-Key input fields (API-Key masked as password)
- Push (upload) and Pull (download) sync buttons
- Sync status indicator (running/success/error)
- Last sync timestamp display (persisted via Room settings)

SettingsViewModel:
- Inject SyncService for server communication
- pushSync(): exports local inventory to InventoryDto, uploads via SyncService
- pullSync(): downloads InventoryDto from server, imports into local DB
- Persists server_url, api_key, sync_last_timestamp in Room settings table

ImportExportRepository:
- New methods exportToInventoryDto() and importFromInventoryDto()
- Refactored to eliminate code duplication via buildInventoryDto() and
  applyInventoryDto() helper methods

Tests:
- 8 new ViewModel tests covering sync settings loading, push/pull success,
  push/pull error scenarios, and sync status dismissal
- FakeSyncService and extended FakeImportExportRepository for testing
2026-05-14 21:30:55 +02:00
.github feat(ui): add category and location management screens 2026-05-14 00:56:36 +02:00
.vscode chore: initial project setup with Copilot config, skills, and workspace structure 2026-05-13 13:40:41 +02:00
Anforderungen docs(server-tech): ADR für Server-Technologie – Ktor gewählt 2026-05-14 19:22:27 +02:00
app feat(settings): add sync UI with server configuration and push/pull actions 2026-05-14 21:30:55 +02:00
gradle feat(app): add Ktor HTTP client and SyncService for inventory sync 2026-05-14 21:14:40 +02:00
memories/repo chore: initial project setup with Copilot config, skills, and workspace structure 2026-05-13 13:40:41 +02:00
server feat(server): add API-Key authentication for REST endpoints 2026-05-14 20:50:16 +02:00
shared feat(shared): add shared module with common DTO models 2026-05-14 19:50:23 +02:00
.gitignore feat(server): add Exposed ORM database layer with H2 2026-05-14 20:15:07 +02:00
build.gradle.kts feat(server): add Ktor server module with health endpoint 2026-05-14 20:06:40 +02:00
gradle.properties fix: Build-Fehler beheben (gradle.properties, Theme, Icon) (#13) 2026-05-13 16:18:22 +02:00
gradlew feat: Android-Projekt-Gerüst anlegen (#13) 2026-05-13 15:24:39 +02:00
gradlew.bat feat: Android-Projekt-Gerüst anlegen (#13) 2026-05-13 15:24:39 +02:00
settings.gradle.kts feat(server): add Ktor server module with health endpoint 2026-05-14 20:06:40 +02:00