Skip to content

baslhabib/supabase-kt

 
 

Repository files navigation

supabase-kt

A Kotlin Multiplatform Client for Supabase. Supported targets:

GoTrue Realtime Postgrest Storage Functions Apollo-GraphQL Compose Auth 🚧 Compose Auth UI 🚧
JVM ☑️
Android
JS ☑️
IOS 🚧
tvOS 🚧 ☑️
watchOS 🚧 ☑️
MacOS 🚧
Windows 🚧 ☑️
Linux 🚧 ☑️
In-depth Kotlin targets

iOS: iosArm64, iosSimulatorArm64, iosX64

JS: Browser, NodeJS

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. For Compose Auth, it relies on GoTrue as fallback.

🚧 = 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, compose-auth, compose-auth-ui

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

About

A Kotlin Multiplatform Client for Supabase.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Kotlin 100.0%