Salta ai contenuti

Introduzione

Rebase è il backend open-source per PostgreSQL, con un pannello di amministrazione per il tuo team, realizzato con React e TypeScript. Ti offre tutto il necessario per creare un’applicazione pronta per la produzione basata su PostgreSQL:

  • Schema as Code — Definisci i tuoi modelli di dati come collezioni TypeScript. Rebase genera tabelle PostgreSQL, un’interfaccia CRUD completa, endpoint API REST e un SDK tipizzato a partire da un’unica fonte di verità.
  • Pannello di amministrazione istantaneo — Un pannello basato su React, elegante e veloce, con tabelle in stile foglio di calcolo, liste, form, bacheche Kanban, modifica inline e sincronizzazione in tempo reale.
  • Backend integrato — Autenticazione (password, magic link, codici monouso, MFA, chiavi API e dodici provider OAuth/OIDC), archiviazione file (locale o S3), Row Level Security, cronologia delle entità e real-time via WebSocket — tutto integrato.
  • Radicalmente estendibile — Se puoi crearlo in React, puoi aggiungerlo a Rebase. Campi personalizzati, viste personalizzate, plugin e accesso completo agli hook interni.

Rebase è un backend e un pannello di amministrazione che condividono lo stesso server. Parti da quello per cui sei qui:

Voglio… Inizia da qui Cosa ottieni
Un backend e un pannello di amministrazione Quickstart Collezioni in TypeScript, un’interfaccia CRUD generata, un’API REST, autenticazione, storage e real-time
Solo l’API, sopra il mio database Backend only Un’API REST headless e SDK sul tuo PostgreSQL esistente — nessun pannello di amministrazione, nessun file di collezione

Nessuna delle due è una scelta irreversibile: un progetto headless può integrare un pannello di amministrazione aggiungendo file di collezione, e un progetto completo può gestire tabelle per cui non esiste una collezione.

┌──────────────────────────────────────────────────────┐
│ 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

init genera un file .env pronto all’uso — nessuna modifica necessaria. Poi:

pnpm install
pnpm run dev

Questo è tutto per il primo avvio. Non c’è alcun database da installare e nessun passaggio di configurazione dello schema: senza DATABASE_URL impostato, rebase dev avvia un’istanza PostgreSQL gestita (PGlite) nella directory del progetto, genera lo schema a partire dalle tue collezioni e crea le tabelle all’avvio.

Leggi gli URL dall’output. rebase dev sceglie una porta libera per ciascun progetto invece di porte fisse, quindi variano tra progetti e tra macchine diverse. Il primo account che registri diventa l’amministratore — sulla tua macchina. Una distribuzione di produzione definisce invece il proprio amministratore con REBASE_ADMIN_EMAIL e REBASE_ADMIN_PASSWORD (vedi Configurazione).

Per utilizzare invece il tuo Postgres, decommenta DATABASE_URL in .env ed esegui nuovamente pnpm run dev.

→ Segui la guida rapida completa per una panoramica dettagliata, compreso come connettere il tuo database.

Funzionalità Descrizione
Spreadsheet Views Tabella virtualizzata e veloce con modifica inline, filtri, ordinamento e ricerca testuale
List View Vista a elenco verticale pulita e reattiva per le collezioni
Kanban Board Vista a bacheca drag-and-drop raggruppata per qualsiasi proprietà enum
Relations Uno-a-uno, uno-a-molti, molti-a-molti con tabelle di giunzione e join multi-hop
Row Level Security Criteri RLS in stile Supabase definiti nella configurazione della collezione
Authentication JWT + refresh token, dodici provider OAuth/OIDC, magic link, codici monouso, MFA con TOTP, chiavi API con scope, controllo degli accessi basato sui ruoli (RBAC)
File Storage Filesystem locale o compatibile con S3 con campi di upload e file browser
Real-time Sync Aggiornamenti live basati su WebSocket per tutti i client connessi
Entity History Traccia di controllo (audit trail) completa per ogni creazione, modifica ed eliminazione
REST API Endpoint CRUD generati automaticamente per ogni collezione
Data Import/Export Importazione CSV, JSON ed Excel con mappatura dei campi; esportazione CSV/JSON
Collection Editor Editor visivo di schemi che genera TypeScript tramite manipolazione AST
SDK tipizzato SDK JavaScript type-safe per le tue applicazioni frontend
Plugin System Estendi ogni elemento dell’interfaccia utente — barra degli strumenti, form, campi, home page
AI Data Enhancement Completamento automatico basato su LLM per campi di testo
Cron Jobs Attività in background pianificate con monitoraggio, log e dashboard di Studio
Custom Functions Route Hono basate su file montate automaticamente con middleware di autenticazione e accesso al database
Email Service SMTP integrato per reimpostazione password, verifica ed email transazionali
Database Branching Copie isolate istantanee del tuo database per sviluppo, staging o test
Webhooks Notifiche in uscita con firma HMAC su INSERT, UPDATE, DELETE
Broadcast Channels Canali WebSocket per la messaggistica in tempo reale tra client connessi
Presence Tracking Monitora gli utenti online e sincronizza lo stato condiviso tra i partecipanti
  • Quickstart — Diventa operativo in 2 minuti
  • Backend only — L’API headless basata su un database esistente
  • Struttura del progetto — Comprendi il codice generato e i concetti chiave presupposti nel resto della documentazione
  • Collezioni — Definisci lo schema dei tuoi dati
  • Backend — Configura autenticazione, archiviazione e l’API
  • Architettura — Scopri come tutti i componenti si integrano tra loro