Pular para o conteúdo

Introdução

O Rebase é o backend de código aberto para PostgreSQL, com um painel de administração para a sua equipe, construído com React e TypeScript. Ele oferece tudo o que você precisa para criar uma aplicação pronta para produção sobre o PostgreSQL:

  • Schema as Code — Defina seus modelos de dados como coleções em TypeScript. O Rebase gera tabelas PostgreSQL, uma interface CRUD completa, endpoints de API REST e um SDK tipado a partir de uma única fonte da verdade.
  • Painel de administração instantâneo — Um painel elegante e rápido baseado em React com tabelas estilo planilha, listas, formulários, quadros Kanban, edição inline e sincronização em tempo real.
  • Backend integrado — Autenticação (senhas, magic links, códigos únicos, MFA, chaves de API e doze provedores OAuth/OIDC), armazenamento de arquivos (local ou S3), Row Level Security, histórico de entidades e tempo real via WebSocket — tudo integrado.
  • Radicalmente extensível — Se você consegue criar em React, você pode adicionar ao Rebase. Campos personalizados, visualizações personalizadas, plugins e acesso completo aos hooks internos.

O Rebase é um backend e um painel de administração que compartilham o mesmo servidor. Comece por aquele que você procura:

Eu quero… Comece aqui O que você obtém
Um backend e um painel de administração Quickstart Coleções em TypeScript, uma interface CRUD gerada, uma API REST, autenticação, armazenamento e tempo real
Apenas a API, sobre o meu próprio banco de dados Backend only Uma API REST headless e SDK sobre seu PostgreSQL existente — sem painel de administração, sem arquivos de coleção

Nenhuma das opções é uma via de mão única: um projeto headless pode ganhar um painel de administração simplesmente adicionando arquivos de coleção, e um projeto completo pode fornecer tabelas para as quais não possui coleção definida.

┌──────────────────────────────────────────────────────┐
│ Client Applications │
│ ┌──────────────┐ ┌───────────────────────────────┐ │
│ │ Your App │ │ Rebase CMS + Studio │ │
│ │ (Any Tech) │ │ Tables / Lists / Kanban │ │
│ └──────┬───────┘ └──────────────┬────────────────┘ │
└─────────┼──────────────────────────┼─────────────────┘
│ HTTP + WebSocket │
▼ ▼
┌──────────────────────────────────────────────────────┐
│ Rebase Backend (Node.js + Hono) │
│ ┌─────────┐ ┌──────┐ ┌─────────┐ ┌───────────────┐ │
│ │ REST API│ │ Auth │ │ Storage │ │ WebSocket RT │ │
│ └────┬────┘ └──┬───┘ └────┬────┘ └──────┬────────┘ │
└───────┼─────────┼──────────┼─────────────┼───────────┘
│ │ │ │
▼ ▼ ▼ ▼
┌──────────────────────────────────────────────────────┐
│ PostgreSQL (Drizzle ORM) │
└──────────────────────────────────────────────────────┘
pnpm dlx @rebasepro/cli init my-app
cd my-app

O comando init gera um .env pronto para execução para você — nenhuma edição é necessária. Em seguida:

pnpm install
pnpm run dev

Essa é toda a primeira execução. Não há banco de dados para instalar e nenhuma etapa de schema: sem um DATABASE_URL configurado, o rebase dev inicia um PostgreSQL gerenciado (PGlite) no diretório do projeto, gera o schema a partir de suas coleções e cria as tabelas na inicialização.

Verifique as URLs na saída do terminal. O rebase dev escolhe uma porta livre por projeto em vez de portas fixas, portanto elas diferem entre projetos e máquinas. A primeira conta que você registrar se torna o admin — na sua máquina. Uma implantação de produção, por outro lado, define seu admin via REBASE_ADMIN_EMAIL e REBASE_ADMIN_PASSWORD (consulte Configuração).

Para usar seu próprio Postgres em vez disso, descomente DATABASE_URL no .env e execute pnpm run dev novamente.

→ Siga o guia de Início Rápido completo para um passo a passo detalhado, incluindo como conectar seu próprio banco de dados.

Recurso Descrição
Visualizações em planilha Tabela rápida e virtualizada com edição inline, filtragem, ordenação e busca textual
Visualização em lista Visualização em lista vertical limpa e responsiva para coleções
Quadro Kanban Visualização em quadro no estilo arrastar e soltar (drag-and-drop), agrupado por qualquer propriedade enum
Relações Um-para-um, um-para-muitos, muitos-para-muitos com tabelas de junção e junções multi-hop
Row Level Security Políticas de RLS no estilo Supabase definidas na configuração da sua coleção
Autenticação JWT + tokens de atualização (refresh tokens), doze provedores OAuth/OIDC, magic links, códigos únicos, MFA via TOTP, chaves de API com escopo, controle de acesso baseado em funções (RBAC)
Armazenamento de arquivos Sistema de arquivos local ou compatível com S3 com campos de upload e gerenciador integrado
Sincronização em tempo real Atualizações em tempo real via WebSocket entre todos os clientes conectados
Histórico de entidades Trilha de auditoria completa para cada criação, atualização e exclusão
API REST Endpoints CRUD gerados automaticamente para cada coleção
Importação/Exportação de dados Importação de CSV, JSON e Excel com mapeamento de campos; exportação em CSV/JSON
Editor de coleções Editor visual de schemas que gera TypeScript via manipulação de AST
SDK tipado SDK JavaScript type-safe para suas aplicações frontend
Sistema de plugins Estenda cada parte da interface — barra de ferramentas, formulários, campos, página inicial
Aprimoramento de dados com IA Autocompletar alimentado por LLMs para campos de texto
Tarefas agendadas (Cron Jobs) Tarefas em segundo plano agendadas com monitoramento, logs e painel no Studio
Funções personalizadas Rotas Hono baseadas em arquivos montadas automaticamente com middleware de autenticação e acesso ao banco de dados
Serviço de e-mail SMTP integrado para redefinição de senha, verificação e e-mails transacionais
Ramificação de banco de dados (Branching) Cópias isoladas instantâneas do seu banco de dados para desenvolvimento, homologação ou testes
Webhooks Notificações de saída assinadas com HMAC em INSERT, UPDATE, DELETE
Canais de transmissão (Broadcast) Canais WebSocket para troca de mensagens em tempo real entre clientes conectados
Rastreamento de presença Monitore usuários online e sincronize o estado compartilhado entre os participantes
  • Quickstart — Comece a usar em 2 minutos
  • Backend only — A API headless sobre um banco de dados que você já possui
  • Project Structure — Entenda o código gerado e os cinco termos que o restante desta documentação assume
  • Collections — Defina seu schema de dados
  • Backend — Configure autenticação, armazenamento e a API
  • Architecture — Entenda como tudo se encaixa