Skip to content

temk0/supabase-kt

 
 

Repository files navigation

supabase-kt

A Kotlin Multiplatform Client for Supabase. Supported targets:

GoTrue Realtime Postgrest Storage Functions Apollo-GraphQL
JVM
Android
JS (Browser, NodeJS)
IOS
tvOS (tvosArm64, tvosX64, tvosSimulatorArm64) 🚧 ☑️
watchOS (watchosArm64, watchosX64, watchosSimulatorArm64) 🚧 ☑️
MacOS (macosX64 & macosArm64) 🚧
Windows (mingwX64) 🚧 ☑️
Linux (linuxX64) 🚧 ☑️

✅ = full support

☑️ = partial support: no built-in OAuth/OTP link handling. Linux also has no support for persistent storage.

🚧 = experimental/needs feedback

❌ = not supported

Note: WASM planned see issue

Links

Documentation

Quickstart

Tutorial: Build a Product Management Android App with Jetpack Compose

Dokka documentation for the latest version

Troubleshooting

Installation

Available modules: gotrue-kt, postgrest-kt, functions-kt, storage-kt, realtime-kt, apollo-graphql

dependencies {
    implementation("io.github.jan-tennert.supabase:[module]:VERSION")

    //add ktor client engine (if you don't already have one, see https://ktor.io/docs/http-client-engines.html for all engines)
    //e.g. the CIO engine
    implementation("io.ktor:ktor-client-cio:KTOR_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]")

Main Modules

Plugins

Demos

Videos

Contribution

How to contribute

  1. Fork the repository
  2. Create a branch
  3. Make your changes
  4. Submit a pull request with your new branch

Credits

Packages

No packages published

Languages

  • Kotlin 100.0%