Architecture¶
Supabase KMP is split into focused modules to keep the dependency graph clean and predictable.
Module map¶
supabase-core: result type, error model, filter DSL, typed IDssupabase-client: HTTP transport, base client, auth header managementsupabase-auth: GoTrue operations, PKCE, OAuth URL generation, MFA, session managersupabase-database: PostgREST CRUD and RPCsupabase-storage: bucket/object operations and URL generationsupabase-realtime: websocket channels, subscriptions, presence, reconnect logicsupabase-functions: Edge Functions invocation
Dependency direction¶
Feature modules depend on supabase-client + supabase-core.
No feature module should depend on another feature module's internals.
Runtime flow¶
- App creates
SupabaseClient - Feature clients use shared transport
- Feature clients return
SupabaseResult<T> - App composes results with
map/flatMap/recover
DI strategy¶
Koin modules provide ready-to-wire defaults:
supabaseModule(...)authModule(...)databaseModulestorageModulerealtimeModule(...)functionsModule