Supabase é uma alternativa de código aberto ao Firebase. Nós estamos construindo as funcionalidades do Firebase usando ferramentas de código aberto de nível empresarial.
- Hospedagem Banco de dados Postgres
- Subscrições em tempo real
- Autenticação e autorização
- APIs geradas automaticamente
- Painel de controle
- Armazenamento
- Funções (em breve)
Para documentação completa, visite supabase.io/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.io. 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 | - |
Dart (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 |