Introdução
O que é o Rebase?
Seção intitulada “O que é o Rebase?”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.
Escolha o seu caminho
Seção intitulada “Escolha o seu caminho”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.
Como funciona
Seção intitulada “Como funciona”┌──────────────────────────────────────────────────────┐│ 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) │└──────────────────────────────────────────────────────┘Início rápido
Seção intitulada “Início rápido”pnpm dlx @rebasepro/cli init my-appcd my-appO comando init gera um .env pronto para execução para você — nenhuma edição é necessária. Em seguida:
pnpm installpnpm run devEssa é 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.
Recursos principais
Seção intitulada “Recursos principais”| 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 |
Próximos passos
Seção intitulada “Próximos passos”- 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