Back to Supabase

Supabase Beta April 2021

apps/www/_blog/2021-05-03-supabase-beta-april-2021.mdx

1.26.048.5 KB
Original Source

This month was a "gardening" month for Supabase. The team focused on stability, security, and community support. Check out what we were working on below, as well as some incredible Community contributions.

Quick demo

Watch a full demo:

<div className="video-container"> <iframe className="video-with-border w-full" src="https://www.youtube-nocookie.com/embed/uWJmUTCFdak" frameBorder="1" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe> </div>

Light Mode

We're a developer tool, which means that Dark Mode is extremely popular.

While Dark mode is great, for some people it's not an option. Dark Mode is difficult to use for developers with astigmatisms, or even just working in brightly-lit environments.

So today we're shipping Light Mode. Access it in the settings of your Dashboard.

<video width="99%" autoPlay muted playsInline controls={true}> <source src="/images/blog/april-2021/light-mode.mp4" type="video/mp4" /> </video>

Translations

With the help of the community, we started internationalizing our main repository:

OpenAPI spec for Storage

We released Storage Api docs built using OpenAPI (swagger).

Stripe Sync Engine (Experimental)

We open-sourced a server which keeps any Postgres database in sync with Stripe. This is experimental only. We're evaluating other tools such as Singer, which provide a more general solution (but are less "realtime"), and we're opening it up here to gather feedback.

Community spotlight: Threaded comments

One of the most powerful Postgres features is "recursive CTEs" which can be used for nested items (comments, pages, friend-graphs). @lawrencecchen has built a full Threaded Comments demo which you can Deploy with a single click. Want to add comments to your blog with Full Text Search? Just use Postgres.

<video width="99%" autoPlay muted playsInline controls={true}> <source src="/images/blog/april-2021/threaded-small.mp4" type="video/mp4" /> </video>

Community spotlight: SupaScript

It looks like @burggraf2 got tired of waiting for us to ship Functions, and decided to build a whole JS ecosystem within his Supabase database. If you want to write PG functions in JS, import remote libraries from the web, and console log to your browser, check out this SupaScript repo.

js
// After installing:
// https://github.com/burggraf/SupaScript#installation

/**
 * Get all users who logged in this week.
 * Use in the database:  select * from users_this_week();
 * Use in the browser:   supabase.rpc('users_this_week');
 */
create or replace function users_this_week()
returns json as $$
  const moment = require('https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.js', false);

  const lastWeek = moment().subtract(7, 'days');
  const query = 'select * from auth.users where created_at > $1'
  const users = sql(query, lastWeek);

  return users;
$$ language plv8;

Community spotlight: Fireship

Fireship reviewed Supabase last week, and despite being a (self-proclaimed) Firebase fan-boy, the review was very impartial.

<div className="video-container"> <iframe className="video-with-border w-full" src="https://www.youtube-nocookie.com/embed/WiwfiVdfRIc" frameBorder="1" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe> </div>

Community

Supabase GitHub Star Growth

<small> Source: <a href="https://repository.surf/supabase">repository.surf/supabase</a> </small>

If you want to keep up to date, make sure you subscribe to our YouTube channel or follow us on Twitter.

Coming Next

You might have noticed our Dashboard slowly changing (improving), as we migrate the components out to our open source UI Library. This progression is an important step towards offering a UI for Local Development and Self Hosting.

We're also working on our Workflows engine. This is quite a large task, but we're making progress and aiming to ship sometime in July.

One more thing

We started hiring.

Get started