Introducción
¿Qué es Rebase?
Sección titulada «¿Qué es Rebase?»Rebase es el backend de código abierto para PostgreSQL, con un panel de administración para tu equipo, creado con React y TypeScript. Te ofrece todo lo necesario para construir una aplicación lista para producción sobre PostgreSQL:
- Esquema como código — Define tus modelos de datos como colecciones de TypeScript. Rebase genera tablas de PostgreSQL, una UI CRUD completa, endpoints de API REST y un SDK tipado a partir de una única fuente de verdad.
- Panel de administración instantáneo — Un panel atractivo y rápido basado en React con tablas estilo hoja de cálculo, listas, formularios, tableros Kanban, edición en línea y sincronización en tiempo real.
- Backend integrado — Autenticación (contraseñas, magic links, códigos de un solo uso, MFA, claves de API y doce proveedores OAuth/OIDC), almacenamiento de archivos (local o S3), Seguridad a Nivel de Fila (RLS), historial de entidades y tiempo real mediante WebSockets — todo integrado.
- Radicalmente extensible — Si puedes crearlo en React, puedes añadirlo a Rebase. Campos personalizados, vistas personalizadas, plugins y acceso completo a hooks internos.
Elige tu camino
Sección titulada «Elige tu camino»Rebase es un backend y un panel de administración que comparten un servidor. Comienza por el que hayas venido a buscar:
| Quiero… | Empieza aquí | Lo que obtienes |
|---|---|---|
| Un backend y un panel de administración | Quickstart | Colecciones en TypeScript, una UI CRUD generada, una API REST, autenticación, almacenamiento y tiempo real |
| Solo la API, sobre mi propia base de datos | Backend only | Una API REST headless y SDK sobre tu PostgreSQL existente — sin panel de administración, sin archivos de colecciones |
Ninguna de las opciones es una puerta de un solo sentido: un proyecto headless puede incorporar un panel de administración añadiendo archivos de colección, y un proyecto completo puede servir tablas para las que no tiene ninguna colección.
Cómo funciona
Sección titulada «Cómo 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) │└──────────────────────────────────────────────────────┘Inicio rápido
Sección titulada «Inicio rápido»pnpm dlx @rebasepro/cli init my-appcd my-appinit genera un .env listo para usar — sin necesidad de editarlo. Luego:
pnpm installpnpm run devEso es todo para la primera ejecución. No hay que instalar ninguna base de datos ni realizar ningún paso de esquema: sin DATABASE_URL configurada, rebase dev inicia un PostgreSQL gestionado (PGlite) en el directorio del proyecto, genera el esquema a partir de tus colecciones y crea las tablas al arrancar.
Lee las URLs en la salida. rebase dev elige un puerto libre por proyecto en lugar de puertos fijos, por lo que variarán entre proyectos y máquinas. La primera cuenta que registres se convierte en administrador — en tu máquina. En cambio, un despliegue en producción define su administrador mediante REBASE_ADMIN_EMAIL y REBASE_ADMIN_PASSWORD (consulta Configuration).
Para usar tu propio Postgres en su lugar, descomenta DATABASE_URL en .env y ejecuta pnpm run dev nuevamente.
→ Sigue la Guía de inicio rápido completa para un recorrido paso a paso, incluyendo cómo conectar tu propia base de datos.
Características principales
Sección titulada «Características principales»| Característica | Descripción |
|---|---|
| Vistas de hoja de cálculo | Tabla rápida y virtualizada con edición en línea, filtrado, ordenación y búsqueda de texto |
| Vista de lista | Vista de lista vertical limpia y adaptable para colecciones |
| Tablero Kanban | Vista de tablero con arrastrar y soltar agrupada por cualquier propiedad enum |
| Relaciones | Uno a uno, uno a muchos, muchos a muchos con tablas de unión y joins multisalto |
| Seguridad a Nivel de Fila | Políticas RLS al estilo de Supabase definidas en la configuración de tu colección |
| Autenticación | JWT + tokens de actualización, doce proveedores OAuth/OIDC, magic links, códigos de un solo uso, MFA con TOTP, claves de API con permisos limitados y control de acceso basado en roles |
| Almacenamiento de archivos | Sistema de archivos local o compatible con S3 con campos de subida y explorador |
| Sincronización en tiempo real | Actualizaciones en vivo mediante WebSockets en todos los clientes conectados |
| Historial de entidades | Pista de auditoría completa para cada creación, actualización y eliminación |
| API REST | Endpoints CRUD autogenerados para cada colección |
| Importación/Exportación de datos | Importación de CSV, JSON y Excel con mapeo de campos; exportación de CSV/JSON |
| Editor de colecciones | Editor visual de esquemas que genera TypeScript mediante manipulación de AST |
| SDK tipado | SDK de JavaScript con tipos seguros para tus aplicaciones frontend |
| Sistema de plugins | Extiende cada parte de la UI: barra de herramientas, formularios, campos, página de inicio |
| Mejora de datos con IA | Autocompletado impulsado por LLM para campos de texto |
| Tareas programadas (Cron) | Tareas en segundo plano programadas con monitorización, registro y panel de Studio |
| Funciones personalizadas | Rutas de Hono basadas en archivos montadas automáticamente con middleware de autenticación y acceso a la BD |
| Servicio de correo electrónico | SMTP integrado para restablecimiento de contraseña, verificación y correos transaccionales |
| Ramificación de base de datos | Copias aisladas instantáneas de tu base de datos para desarrollo, staging o pruebas |
| Webhooks | Notificaciones salientes firmadas con HMAC en INSERT, UPDATE, DELETE |
| Canales de difusión | Canales WebSocket para mensajería en tiempo real entre clientes conectados |
| Seguimiento de presencia | Rastrear usuarios en línea y sincronizar el estado compartido entre participantes |
Próximos pasos
Sección titulada «Próximos pasos»- Quickstart — Empieza a funcionar en 2 minutos
- Backend only — La API headless sobre una base de datos que ya tienes
- Project Structure — Comprende el código generado y los cinco conceptos que asumen el resto de estas páginas
- Collections — Define tu esquema de datos
- Backend — Configura la autenticación, el almacenamiento y la API
- Architecture — Comprende cómo encaja todo