An open API service indexing awesome lists of open source software.

https://github.com/OpenFrenchFries/supasveltekit

Where Svelte's elegance meets Supabase's might!
https://github.com/OpenFrenchFries/supasveltekit

authentication cloud database javascript opensource realtime supabase svelte sveltekit toolkit typescript

Last synced: 8 months ago
JSON representation

Where Svelte's elegance meets Supabase's might!

Awesome Lists containing this project

README

          

# SupaSvelteKit โšก

> ๐ŸŒŸ Where Svelte's elegance meets Supabase's might! ๐ŸŒŸ

SupaSvelteKit is a library designed to seamlessly integrate SvelteKit with Supabase, providing developers with a powerful toolkit to build dynamic web applications.

## ๐ŸŽ‰ Features

- **Authentication** ๐Ÿ”: Easily integrate Supabase authentication with SvelteKit.
- **Realtime** โฑ๏ธ: Simplified multi-user realtime updates with Svelte stores.
- **Storage** ๐Ÿ“ฆ: Manage your Supabase storage with Svelte components.
- ... and more to come! Stay tuned and feel free to suggest or contribute new features!

## ๐Ÿ›  Installation

```bash
npm install supasveltekit
```

## ๐Ÿš€ Quick Start

1. Initialize your Supabase client:
```src/lib/supabase.ts```
```ts
import { PUBLIC_SUPABASE_KEY, PUBLIC_SUPABASE_URL } from '$env/static/public';
import { createClient } from '@supabase/supabase-js';

export const supabaseUrl = PUBLIC_SUPABASE_URL;
export const supabaseKey = PUBLIC_SUPABASE_KEY;

export const supabase = createClient(supabaseUrl, supabaseKey);
```

2. Use SupaSvelteKit components in your SvelteKit app:
```src/routes/+page.svelte```
```svelte

import { supabase } from '$lib/supabase';
import { SupabaseApp, Authenticated, Unauthenticated, RealtimePresence, BucketFilesList } from 'supasveltekit';


Welcome, {session?.user?.identities?.[0]?.identity_data?.email}!


signOut()}>Sign Out


{#if error !== null}

{error}

{/if}

    {#each bucketFiles as file}

  • {file.name}

  • {/each}



{#if error}

Error: {error.message}


{:else if !state}

Loading...


{:else}

Connected to channel {channel?.name}


Number of users: {state?.count}


updateStatus({ status: 'online' })}>Go online
updateStatus({ status: 'offline' })}>Go offline
{/if}



Sign in to continue


signIn()}>Sign In

```

## ๐Ÿ“š Documentation

For detailed documentation, usage guides, and API references, dive into [our documentation site](http://SupaSvelteKit.openfrenchfries.com/).

## ๐Ÿ“– Examples

Explore hands-on examples to get a feel for how SupaSvelteKit enhances your projects:

- [Basic Todo App](https://github.com/OpenFrenchFries/supasveltekit-example-todo)
- [Authentication Demo](https://github.com/orgs/OpenFrenchFries/repositories)
- ... and more examples coming soon! If you've built something cool with SupaSvelteKit, let us know!

## ๐Ÿ’ช Contributing

Join the SupaSvelteKit journey! ๐ŸŒ Whether you're fixing bugs, suggesting enhancements, or enriching the documentation, every contribution counts. Dive into our [CONTRIBUTING.md](.github/CONTRIBUTING.md) to get started.

## ๐Ÿ“œ License

Freedom with responsibility! SupaSvelteKit is [MIT licensed](LICENSE), ensuring open use with acknowledgment.

## ๐Ÿ™Œ Acknowledgements

A big shoutout ๐Ÿ“ฃ:

- To the Svelte and Supabase communities for lighting the way with invaluable resources and support.
- To every coder, contributor, and coffee mug that's been part of this journey. โ˜•

---

Crafted with ๐Ÿงก by [OpenFrenchFries](https://github.com/OpenFrenchFries) and the amazing contributors. [Join us!](.github/CONTRIBUTING.md)