Skip to content

Waffle0823/Roblox-Supabase

Contributors Forks Stargazers Issues License

⚠️ Alpha Notice:

This project is currently in alpha. Features and APIs are subject to change, and breaking changes may occur. Use with caution in production environments.


Logo

Roblox Supabase

A TypeScript-first Supabase wrapper for Roblox, built specifically for the roblox-ts ecosystem.
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Roblox-Supabase is a TypeScript-first Supabase client library specifically designed for Roblox using the roblox-ts ecosystem. This library provides a type-safe way to interact with your Supabase backend from Roblox games and experiences.

Key features:

  • Type-safe PostgREST client for Supabase interactions
  • Designed specifically for the Roblox platform
  • Built with TypeScript using roblox-ts
  • Simple API for making requests to your Supabase backend
  • Handles authentication and request formatting

Built With

  • TypeScript
  • Roblox-TS
  • Supabase

Getting Started

To start using Roblox-Supabase in your Roblox project, follow these steps:

Prerequisites

Installation

  1. Add the package to your roblox-ts project:

    npm install @rbxts/roblox-supabase
  2. Set up a Supabase project at https://supabase.com

  3. Get your Supabase URL and anon key from your Supabase project settings

  4. Initialize the client in your code:

    import { SupabaseClient } from "@rbxts/roblox-supabase";
    import { HttpService } from "@rbxts/services";
    
    // Initialize the client
    const supabase = new SupabaseClient("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));

Usage

Basic Example

// Initialize the client
import { SupabaseClient } from "@rbxts/roblox-supabase";
import { HttpService } from "@rbxts/services";

const supabase = new SupabaseClient("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));

// Make a request
const result = await supabase
  .from("players")
  .select("*")
  .eq("id", player.UserId)
  .single();

Using Supabase CLI and Type Generation

You can use the Supabase CLI to generate TypeScript types for your database, ensuring full type safety in your Roblox project.

npx supabase gen types typescript --project-id "your-project-id" --schema public > supabase-types.ts

Then, import your generated types and pass them to SupabaseClient:

import { SupabaseClient } from "@rbxts/roblox-supabase";
import type { Database } from "./supabase-types";
import { HttpService } from "@rbxts/services";

// Pass your Database type for full type safety
const supabase = new SupabaseClient<Database>("YOUR_SUPABASE_URL", HttpService.GetSecret("SUPABASE_ANON_KEY"));

More examples and detailed documentation coming soon.

Roadmap

  • Basic Supabase client implementation
  • Convert to Ambient Declarations
  • Request functionality
  • Complete Supabase API coverage
  • Authentication methods
  • Realtime subscriptions
  • Storage functionality
  • Comprehensive documentation
  • Code examples

See the open issues for a full list of proposed features (and known issues).

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

Please read CONTRIBUTING.md for details on our code of conduct, development process, and guidelines for submitting pull requests.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Top contributors:

contrib.rocks image

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Waffle0823 - csshin9928@gmail.com

Project Link: https://github.com/Waffle0823/Roblox-Supabase

Acknowledgments

About

A type-safe PostgREST client for Supabase, designed for Roblox servers using roblox-ts

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors