O Supabase é uma plataforma open-source de BaaS (Backend-as-a-service) criada pelos desenvolvedores Paulo Copplestone e Ant Wilson, com sede em Singapura. Ele surgiu como alternativa de código aberto ao Firebase do Google, possibilitando mais controle para, principalmente, pequenos projetos que precisam de um banco de dados sólido e barato (ou gratuito).
E o Supabase tem de fato uma base sólida, já que foi construído sobre PostgreSQL e consegue oferecer um banco de dados bastante robusto.
Em que dá para usar?
Ele oferece ferramentas completas para backend. Desde o já mencionado banco de dados até API REST, GraphQL, autenticação e autorização com provedores como Google e GitHub (e muitos outros), armazenamento de arquivos, edge functions, dashboards. Podemos usar o Supabase para diversos tipos de projetos. Web e mobile apps, SaaS, MVPs etc.
Além disso, eles tem um plano gratuito que suporta até 2 projetos com APIs ilimitadas e até 500MB de storage. Eu sei, não é muito para projetos que começam a ficar mais complexos, mas já dá para colocar muita coisa no ar. E esse plano também suporta até 50 mil usuários ativos mensais.
Como implementar?
Depois de criar a conta e um novo projeto no Supabase, tens que instalar o cliente no teu projeto:
npm install @supabase/supabase-js
Configurar a conexão:
import { createClient } from '@supabase/supabase-js'
const supabaseUrl = 'YOUR_SUPABASE_URL'
const supabaseKey = 'YOUR_SUPABASE_ANON_KEY'
const supabase = createClient(supabaseUrl, supabaseKey)
E pronto. Agora é só usar para inserir os dados:
const { data, error } = await supabase
.from('users')
.insert([{ name: 'Bruce Wayne', email: 'waynebruce@email.com' }])
E para consultar (ou podes visualizar a tabela no próprio Supabase):
const { data, error } = await supabase
.from('users')
.select('*')
Recapitulando, o Supabase é uma ótima opção para quem precisa colocar o protótipo ou um pequeno projeto no ar. Ele é fácil de mexer e exige o mínimo de conhecimentao de SQL.