DEV Community

Kiran Krishnan
Kiran Krishnan

Posted on • Edited on

My open source contributions to Supabase

I'm sharing my experience with contributing to Supabase.

Supabase is an open-source Firebase alternative.

Supabase uses Gotrue as an authentication server. Gotrue is an auth API server written in Go by the Netlify team. Supabase manages its fork of the Gotrue and is actively maintained.

Gotrue is responsible for issuing access tokens for your users, sending confirmation, magic-link, and password recovery emails, and also transacting with third-party OAuth providers to get user data.

A few months ago, while I was exploring the Supabase project, I found some issues tagged with good first issue on the repository supabase/gotrue

Without previous experience with Go and Gotrue, I thought it would be hard to understand the source code and contribute to such a large project.

I learned the basics of Go in the following weeks and set up supabase/gotrue locally on my machine.

I noticed Supabase users were asking for new SMS providers like Twilio, Vonage, Textlocal, etc.

Supabase needs an SMS provider when you want the users to log in with their mobile. Supabase will send an OTP to the user's mobile number (i.e.passwordless login).

I decided to add Vonage as a new SMS provider to supabase/gotrue. It took me around 4-5 hours to understand the code and finish the Vonage integration.

My previous experience with authentication libraries and APIs helped me to understand the code much faster than I initially anticipated.

I got some initial feedback from the Supabase team on that PR. It got merged after a few days and included in the next release.

After the first PR, I successfully contributed two more integrations.

Added the Zoom: OAuth provider

Added Vonage: SMS provider

Added Textlocal: SMS provider

I also got a mention in the Supabase Beta January 2022 newsletter and blog post. Thanks to Paul Copplestone (Supabase CEO).

Supabase Beta January 2022

Follow me on Github

Feel free to reach me if you want any help with your first open source contribution.

Thanks

Top comments (0)