Commit Graph

6 Commits

Author SHA1 Message Date
herel b61b6408f3 fix: bump kotlinx-datetime to 0.7.1, scope ExperimentalTime opt-in to saveEvents 2026-07-08 17:14:56 +02:00
herel 11c0a92421 feat: add ScheduleCache with multiplatform-settings for offline caching 2026-07-08 17:10:45 +02:00
herel b1661aaa4f feat: add Ktor networking layer with ApiService and auth token holder
Add ApiConfig, AuthTokenHolder singleton, expect/actual HttpClient
engine factories (CIO for Android/Desktop, Darwin for iOS), and
ApiService with four GET endpoints. Bearer token from AuthTokenHolder
is injected as Authorization header on each request.

Adjusted for Ktor 3.5.1: HttpClientEngineFactory lives in
io.ktor.client.engine; the timeout plugin is HttpTimeout (package
io.ktor.client.plugins), not HttpTimeoutPlugin. Tests wrap suspend
calls in runTest and assert request URLs without a trailing '?'.
2026-07-08 17:07:20 +02:00
herel a24297f821 feat: add serializable data models with FlexibleStringSerializer for number coercion 2026-07-08 17:02:31 +02:00
herel c931ec7143 fix: add missing Text import in desktop Main.kt
Task 1 scaffold omitted the material3 Text import, blocking desktop
compilation. Required to run common tests via desktopTest.
2026-07-08 17:02:29 +02:00
herel 15ae8cd046 feat: scaffold KMP project with Compose Multiplatform (Android, iOS, Desktop) 2026-07-08 16:53:13 +02:00