Supabase Kt Save

A Kotlin Multiplatform Client for Supabase.

Project README

supabase-kt

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.2.3-wasm0

Kotlin https://img.shields.io/badge/ktor-2.3.10-blue slack

Documentation

Getting started with Android and Supabase [Video]

Quickstart

Tutorial: Build a Product Management Android App with Jetpack Compose

Dokka documentation for the latest version

Troubleshooting

Installation

Add one ore more modules to your project

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]")

Add a Ktor Client Engine to each of your Kotlin targets

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:

https://img.shields.io/badge/ktor-2.3.10-blue

Main Modules

Authentication (GoTrue)

Database/Postgrest

Storage

Realtime

Functions (Edge Functions)

Plugins

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.

Demos

Need help?

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

Open Source Agenda is not affiliated with "Supabase Kt" Project. README Source: supabase-community/supabase-kt

Open Source Agenda Badge

Open Source Agenda Rating