Supabase é uma alternativa de código aberto Firebase. Estamos construindo as características do Firebase usando ferramentas de código aberto de nível empresarial.
- Banco de dados hospedado de Postgres. Docs
- Autenticação e Autorização. Docs
- APIs auto-geradas.
- Funções.
- Funções do Banco de Dados [Docs]https://supabase.com/docs/guides/database/functions)
- Funções de borda Docs
- Armazenamento de arquivos. Docs
- Painel de controle
Para documentação completa, visite supabase.com/docs
- Fórum da comunidade. Melhor para: ajuda com a construção, discussões sobre melhores práticas em banco de dados.
- GitHub Issues. Melhor para: problemas ou erros que você encontrar usando o Supabase.
- Suporte por E-mail. Melhor para: problemas com o seu banco de dados ou infraestrutura.
- Alfa: Nós estamos testando Supabase com um grupo fechado de clientes.
- Alfa Público: Qualquer um pode se registrar em app.supabase.com. Porém seja flexível com a gente, ainda existem alguns obstáculos.
- Beta Público: Estável o suficiente para a maioria dos casos não empresariais.
- Público: Pronto para produção.
Estamos atualmente na fase Beta Público. Siga as "entregas" (releases) deste repositório para receber uma notificação quando houver uma grande atualização (major releases).
Supabase é uma combinação de ferramentas de código aberto. Nós estamos construindo as funcionalidades do Firebase usando produtos de código aberto de nível empresarial. Se as ferramentas e comunidades existem com MIT, Apache 2 ou licenças abertas equivalentes, nós usaremos e apoiaremos tal ferramenta. Se a ferramenta não existir, nós construiremos e abriremos o código nós mesmos. Supabase não é um mapeamento 1-para-1 do Firebase. Nosso objetivo é entregar as pessoas desenvolvedoras uma experiência parecida com o Firebase usando ferramentas de código aberto.
Arquitetura atual
Supabase é uma plataforma hospedada. Você pode se cadastrar e começar a usar Supabase sem instalar nada. Nós ainda estamos criando a experiência de trabalho local - esse é o nosso foco principal, junto com a estabilidade da plataforma.
- PostgreSQL é um banco objeto-relational com mais de 30 anos de desenvolvimento ativo que conquistou uma forte reputação por ser confiável, robusto e de ótimo desempenho.
- Tempo real é um servidor Elixir que permite ouvir as inserções, atualizações e remoções (inserts, updates e deletes) do PostgreSQL usando websockets. Supabase ouve as funcionalidades de replicação nativas do Postgres, converte os bytes de replicação em JSON, e propaga o JSON usando websockets.
- PostgREST é um servidor web que converte sua base de dados PostgreSQL diretamente em uma API RESTful.
- Armazenamento oferece uma interface RESTful para gerenciar arquivos armazenados em um S3, usando Postgres para gerenciar as permissões.
- postgres-meta é uma API RESTful para gerenciar seu Postgres, permitindo você carregar tabelas, adicionar permissões, executar consultas e etc.
- GoTrue é uma API baseada em SWT para gerenciar usuários e distribuir tokens SWT.
- Kong é um API gateway nativo em núvem.
Nossa biblioteca de cliente é modular. Cada sub-biblioteca é uma implementação independente para cada sistema externo. Esse é uma das formas de apoiar as ferramentas existentes.
Linguagem | Cliente | Clientes de recursos (agrupados por cliente Supabase) | |||
---|---|---|---|---|---|
Supabase | PostgREST | GoTrue | Realtime | Storage | |
⚡️ Oficial ⚡️ | |||||
JavaScript (TypeScript) | supabase-js | postgrest-js | gotrue-js | realtime-js | storage-js |
💚 Comunidade 💚 | |||||
C# | supabase-csharp | postgrest-csharp | gotrue-csharp | realtime-csharp | - |
Flutter | supabase-dart | postgrest-dart | gotrue-lang | realtime-dart | storage-dart |
Go | - | postgrest-go | - | - | - |
Java | - | - | gotrue-java | - | - |
Kotlin | - | postgrest-kt | gotrue-kt | - | - |
Python | supabase-py | postgrest-py | gotrue-py | realtime-py | - |
Ruby | supabase-rb | postgrest-rb | - | - | - |
Rust | - | postgrest-rs | - | - | - |
Swift | supabase-swift | postgrest-swift | gotrue-swift | realtime-swift | storage-swift |