About
Totly is built with Kotlin Multiplatform. All business logic is shared Kotlin, rendered with Compose Multiplatform on Android and desktop and with native SwiftUI on iOS.
Libraries Used
Shared
- Kotlin Multiplatform - shared code across Android, desktop and iOS
- App Platform - presenters, renderers, scopes and module structure
- Metro - compile-time dependency injection
- Coroutines - asynchronous code and flows
- kotlinx-datetime - multiplatform date time library
- SQLDelight - sqlite database
- multiplatform-settings - key value storage
- moko-resources - localized strings shared with iOS
- BuildKonfig - build-time configuration
Client
- Compose Multiplatform - Android and desktop UI, Material 3 and icons
- Navigation 3 - back stacks for the Compose UI
- AndroidX Activity - Android entry point
- SwiftUI - native iOS UI
Server
- Supabase - auth, database, storage and edge functions
- supabase-kt - Kotlin Multiplatform Supabase client
- Ktor - HTTP client (OkHttp on Android and desktop, Darwin on iOS)
Testing
- Kotlin test - KMP testing framework
- AssertK - assertions