Skip to main content

Android architecture

splick-android is Gradle with a composite build-logic. The target architecture matches iOS: presentation, then domain, then data. Hilt for dependency injection, Retrofit for HTTP, DataStore or Keystore-backed storage for the JWT. JSON is snake_case, matching the OpenAPI contract.

The README still says application code has not started. That sentence is stale. The tree contains feature/* modules with real Kotlin. Trust the modules, and fix the README when you next touch onboarding.

Modules​

ModuleRole
:appApplication, navigation, Hilt graph
:domainUse cases and models shared by features
core:commonResult types, dispatchers, small utilities
core:networkRetrofit, interceptors, auth header, base URL
core:storageToken storage
core:designsystemCompose theme
core:localizationen and vi strings
feature:authLogin and session
feature:friendsSocial graph UI
feature:feedFeed
feature:mediaCapture and upload
feature:expenseBills
feature:messagingChat
feature:notificationInbox and NotificationTapRouter
feature:stickersStickers

core:network is the only place that knows the host. Features depend on domain interfaces. Do not call Retrofit from a composable.

Debug builds point at http://localhost:8080/api (emulator host mapping applies). Release points at https://api.splick.app/api. Signing config stays in keystore/ which is local and gitignored. See Android release.