Salta ai contenuti

Introduzione

Rebase è un Backend-as-a-Service (BaaS) open-source e un pannello di amministrazione costruito con React e TypeScript. Ti fornisce tutto il necessario per costruire applicazioni back-office pronte per la produzione basate su PostgreSQL:

  • Schema as Code — Definisci i tuoi modelli di dati come collezioni TypeScript. Rebase genera tabelle PostgreSQL, un’interfaccia utente CRUD completa, endpoint API REST e SDK client type-safe da un’unica fonte di verità.
  • Pannello di Amministrazione Istantaneo — Un’interfaccia utente di amministrazione basata su React, bella e veloce, con tabelle a foglio di calcolo, liste, moduli, schede Kanban, editing in linea e sincronizzazione in tempo reale.
  • Backend Integrato — Autenticazione (JWT + Google OAuth), archiviazione di file (locale o S3), sicurezza a livello di riga (Row Level Security), cronologia delle entità e real-time WebSocket — tutto integrato.
  • Radicalmente Estensibile — Se puoi costruirlo in React, puoi aggiungerlo a Rebase. Campi personalizzati, viste personalizzate, plugin e accesso completo agli hook interni.
┌──────────────────────────────────────────────────────┐
│ Client Applications │
│ ┌──────────────┐ ┌───────────────────────────────┐ │
│ │ Your App │ │ Rebase Admin UI │ │
│ │ (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

Configura il tuo database in .env:

DATABASE_URL=postgresql://user:password@localhost:5432/mydb
JWT_SECRET=your-secret-key

Se ti stai connettendo a un database esistente, puoi eseguirne l’introspezione per generare automaticamente i file delle collezioni:

pnpm rebase schema introspect

Avvia tutto:

pnpm dev

Questo è tutto. Il tuo pannello di amministrazione è in esecuzione su http://localhost:5173 e l’API su http://localhost:3001.

→ Segui la Guida rapida completa per un tutorial dettagliato.

FeatureDescription
Spreadsheet ViewsTabella veloce e virtualizzata con editing in linea, filtraggio, ordinamento e ricerca testuale
List ViewVista elenco verticale pulita e reattiva per le collezioni
Kanban BoardVista a scheda drag-and-drop raggruppata per qualsiasi proprietà enum
RelationsUno-a-uno, uno-a-molti, molti-a-molti con tabelle di giunzione e join multi-hop
Row Level SecurityPolicy RLS in stile Supabase definite nella configurazione della tua collezione
AuthenticationJWT + token di refresh, Google OAuth, controllo degli accessi basato sui ruoli
File StorageFilesystem locale o compatibile con S3 con campi di upload e browser
Real-time SyncAggiornamenti live basati su WebSocket su tutti i client connessi
Entity HistoryTraccia di audit completa per ogni creazione, aggiornamento ed eliminazione
REST APIEndpoint CRUD auto-generati per ogni collezione
Data Import/ExportImportazione CSV, JSON ed Excel con mappatura dei campi; esportazione CSV/JSON
Collection EditorEditor di schema visivo che genera TypeScript tramite manipolazione AST
Client SDKSDK JavaScript type-safe per le tue app frontend
Plugin SystemEstendi ogni parte dell’interfaccia utente — barra degli strumenti, moduli, campi, home page
AI Data EnhancementCompletamento automatico basato su LLM per i campi di testo
Cron JobsTask in background pianificati con monitoraggio, logging e dashboard Studio