Krisenvorrat Inventar-App – Android-App (Kotlin) zur Verwaltung eines Krisenvorrats-Inventars
server/src/main/kotlin/.../routes/InventoryRoutes.kt: - GET /api/inventory: returns full inventory as JSON - PUT /api/inventory: full-sync replaces entire server inventory server/src/main/kotlin/.../plugins/StatusPages.kt: - Structured error handling via Ktor StatusPages plugin - BadRequestException, SerializationException, IllegalArgumentException → 400 - Unhandled exceptions → 500 with logging server/src/main/kotlin/.../plugins/CallLogging.kt: - Request logging via Ktor CallLogging plugin (INFO level) server/src/main/kotlin/.../model/ErrorResponse.kt: - Serializable error response DTO (status + message) server/src/main/kotlin/.../plugins/Routing.kt: - Health endpoint moved from /health to /api/health - Inventory routes mounted under /api/inventory server/src/main/kotlin/.../Application.kt: - Added configurePlugins() for testability (DB init separate) - StatusPages and CallLogging plugins configured server/src/test/.../ApplicationTest.kt: - 8 endpoint tests using Ktor TestApplication with in-memory H2 - Tests: health, 404, empty GET, PUT valid, PUT+GET roundtrip, invalid JSON → 400, data replacement, JSON content type Closes #42 |
||
|---|---|---|
| .github | ||
| .vscode | ||
| Anforderungen | ||
| app | ||
| gradle | ||
| memories/repo | ||
| server | ||
| shared | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||