A Kotlin Multiplatform Client for Supabase.
For information about supported Kotlin targets, see the corresponding module README.
Migrating from version 1.4.X to 2.0.0
Note: WASM build available: 2.4.2-wasm0
Getting started with Android and Supabase [Video]
Tutorial: Build a Product Management Android App with Jetpack Compose
Dokka documentation for the latest version
Available modules: gotrue-kt
, postgrest-kt
, functions-kt
, storage-kt
, realtime-kt
, apollo-graphql
, compose-auth
, compose-auth-ui
, coil-integration
, imageloader-integration
dependencies {
implementation("io.github.jan-tennert.supabase:[module]:VERSION")
}
If you use multiple modules, you can use the bom dependency to get the correct versions for all modules:
implementation(platform("io.github.jan-tennert.supabase:bom:VERSION"))
implementation("io.github.jan-tennert.supabase:[module]")
You can find a list of available engines here. If you plan to use the Realtime dependency, make sure to check if the engine supports WebSockets. See the Ktor docs for more information.
implementation("io.ktor:ktor-client-[engine]:VERSION")
Multiplatform Example
For targets: jvm
, android
, js
, ios
val commonMain by getting {
dependencies {
//supabase modules
}
}
val jvmMain by getting {
dependencies {
implementation("io.ktor:ktor-client-cio:KTOR_VERSION")
}
}
val androidMain by getting {
dependsOn(jvmMain)
}
val jsMain by getting {
dependencies {
implementation("io.ktor:ktor-client-js:KTOR_VERSION")
}
}
val iosMain by getting {
dependencies {
implementation("io.ktor:ktor-client-darwin:KTOR_VERSION")
}
}
Note: It is recommended to use the same Ktor version as supabase-kt:
- Apollo GraphQL integration - Creates an Apollo GraphQL Client for interacting with the Supabase API.
- Compose Auth - Provides easy Native Google & Apple Auth for Compose Multiplatform targets.
- Compose Auth UI - Provides UI Components for Compose Multiplatform.
- Coil Integration - Provides a Coil Integration for displaying images stored in Supabase Storage.
- Compose-ImageLoader Integration - Provides a Compose ImageLoader Integration for displaying images stored in Supabase Storage.
- Supabase Edge Functions Kotlin - Build, serve and deploy Supabase Edge Functions with Kotlin and Gradle.
- Chat Demo (Desktop/Android/iOS/Browser)
- File Upload Demo (Desktop/Android)
- Android Native Google login & in-app OAuth (Android)
- Multi-Factor Authentication (Desktop/Android/Browser)
- Multiplatform Deep Linking (Desktop/Android)
- Groceries Store App (Android)
- RESTful Service (Spring Boot)
- Join the #supabase-kt Kotlin Slack channel
- Join the Supabase Discord and create a new post with the 'Kotlin' tag under
help-and-questions
- Create a discussion
- Create an issue
- Getting started with Android and Supabase by the official Supabase YouTube channel
- Getting started with Supabase on Android (by Eric Ampire)
- Supabase | Jetpack Compose | Android | 2023 (by YoursSohailYT)
Checkout the contribution guidelines for more information.
- Postgres Syntax inspired by https://github.com/supabase-community/postgrest-kt
- Plugin system inspired by ktor