DEV Community

Kiran Krishnan
Kiran Krishnan

Posted on • Edited on

5 2

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

Image of Timescale

Timescale – the developer's data platform for modern apps, built on PostgreSQL

Timescale Cloud is PostgreSQL optimized for speed, scale, and performance. Over 3 million IoT, AI, crypto, and dev tool apps are powered by Timescale. Try it free today! No credit card required.

Try free

Top comments (0)

Image of Datadog

Learn how to monitor AWS container environments at scale

In this eBook, Datadog and AWS share insights into the changing state of containers in the cloud and explore why orchestration technologies are an essential part of managing ever-changing containerized workloads.

Download the eBook

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay