Zum Inhalt springen

Einführung

Rebase ist ein Open-Source-Backend-as-a-Service (BaaS) und Admin-Panel, entwickelt mit React und TypeScript. Es bietet Ihnen alles, was Sie benötigen, um produktionsreife Back-Office-Anwendungen auf Basis von PostgreSQL zu erstellen:

  • Schema as Code — Definieren Sie Ihre Datenmodelle als TypeScript-Collections. Rebase generiert PostgreSQL-Tabellen, eine vollständige CRUD-UI, REST-API-Endpunkte und typsichere Client-SDKs aus einer einzigen Quelle der Wahrheit (Single Source of Truth).
  • Sofort einsatzbereites Admin-Panel — Eine ansprechende, schnelle React-basierte Admin-UI mit Tabellenkalkulations-Ansichten, Listen, Formularen, Kanban-Boards, Inline-Bearbeitung und Echtzeitsynchronisierung.
  • Integriertes Backend — Authentifizierung (Passwörter, Magic Links, Einmal-Codes, MFA, API-Schlüssel und zwölf OAuth/OIDC-Anbieter), Dateispeicher (lokal oder S3), Row Level Security, Entitätshistorie und WebSocket-Echtzeit – alles von Haus aus integriert.
  • Radikal erweiterbar — Wenn Sie es in React bauen können, können Sie es zu Rebase hinzufügen. Benutzerdefinierte Felder, individuelle Ansichten, Plugins und voller Zugriff auf interne Hooks.

Rebase besteht aus zwei Produkten, die sich zufällig einen Server teilen. Starten Sie mit dem, weswegen Sie hier sind:

Ich möchte… Hier starten Was Sie bekommen
Ein Backend und ein Admin-Panel Quickstart Collections in TypeScript, eine generierte CRUD-UI, eine REST-API, Authentifizierung, Speicher und Echtzeit
Nur die API über meiner eigenen Datenbank Backend only Eine Headless-REST-API und ein SDK über Ihrer bestehenden PostgreSQL-Datenbank – kein Admin-Panel, keine Collection-Dateien

Keiner der Wege ist eine Einbahnstraße: Ein Headless-Projekt kann durch das Hinzufügen von Collection-Dateien um ein Admin-Panel erweitert werden, und ein vollständiges Projekt kann Tabellen bereitstellen, für die es keine Collection gibt.

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

init generiert eine sofort einsatzbereite .env-Datei für Sie – keine Bearbeitung erforderlich. Danach:

pnpm install
pnpm run dev

Das ist bereits der gesamte erste Durchlauf. Es muss keine Datenbank installiert und kein Schemaschritt ausgeführt werden: Wenn keine DATABASE_URL gesetzt ist, startet rebase dev eine verwaltete PostgreSQL-Instanz (PGlite) im Projektverzeichnis, generiert das Schema aus Ihren Collections und erstellt die Tabellen beim Start.

Lesen Sie die URLs aus der Ausgabe ab. rebase dev wählt für jedes Projekt einen freien Port statt fester Ports, sodass sich diese zwischen Projekten und Maschinen unterscheiden. Der erste Account, den Sie registrieren, wird zum Administrator – auf Ihrer lokalen Maschine. Ein produktives Deployment legt den Administrator stattdessen über REBASE_ADMIN_EMAIL und REBASE_ADMIN_PASSWORD fest (siehe Configuration).

Um stattdessen Ihre eigene Postgres-Datenbank zu verwenden, entfernen Sie den Kommentar vor DATABASE_URL in der .env-Datei und führen Sie pnpm run dev erneut aus.

→ Folgen Sie der vollständigen Quickstart-Anleitung für einen kompletten Leitfaden, einschließlich der Anbindung Ihrer eigenen Datenbank.

Funktion Beschreibung
Tabellenkalkulations-Ansichten Schnelle, virtualisierte Tabelle mit Inline-Bearbeitung, Filterung, Sortierung und Volltextsuche
Listenansicht Übersichtliche, responsive vertikale Listenansicht für Collections
Kanban-Board Drag-and-Drop-Board-Ansicht, gruppiert nach beliebigen Enum-Eigenschaften
Relationen Eins-zu-Eins, Eins-zu-Viele, Viele-zu-Viele mit Verknüpfungstabellen und Multi-Hop-Joins
Row Level Security RLS-Richtlinien im Supabase-Stil, definiert in Ihrer Collection-Konfiguration
Authentifizierung JWT + Refresh-Tokens, zwölf OAuth/OIDC-Anbieter, Magic Links, Einmal-Codes, TOTP MFA, bereichsbezogene API-Schlüssel, rollenbasierte Zugriffskontrolle
Dateispeicher Lokales Dateisystem oder S3-kompatibel mit Upload-Feldern und Browser
Echtzeit-Synchronisierung WebSocket-gestützte Live-Updates für alle verbundenen Clients
Entitätshistorie Vollständiger Prüfpfad (Audit-Trail) für jeden Erstellungs-, Aktualisierungs- und Löschvorgang
REST-API Automatisch generierte CRUD-Endpunkte für jede Collection
Datenimport/-export CSV-, JSON- und Excel-Import mit Feldzuordnung; CSV/JSON-Export
Collection-Editor Visueller Schema-Editor, der TypeScript mittels AST-Manipulation generiert
Client-SDK Typsicheres JavaScript-SDK für Ihre Frontend-Anwendungen
Plugin-System Erweitern Sie jeden Teil der Benutzeroberfläche – Toolbar, Formulare, Felder, Startseite
KI-Datenanreicherung LLM-gestützte Autovervollständigung für Textfelder
Cronjobs Geplante Hintergrundaufgaben mit Überwachung, Protokollierung und Studio-Dashboard
Benutzerdefinierte Funktionen Dateibasierte Hono-Routen, automatisch eingebunden mit Authentifizierungs-Middleware und Datenbankzugriff
E-Mail-Dienst Integriertes SMTP für Passwort-Resets, Verifizierungen und transaktionale E-Mails
Datenbank-Branching Sofortige, isolierte Kopien Ihrer Datenbank für Entwicklung, Staging oder Tests
Webhooks HMAC-signierte ausgehende Benachrichtigungen bei INSERT, UPDATE, DELETE
Broadcast-Kanäle WebSocket-Kanäle für Echtzeit-Nachrichten zwischen verbundenen Clients
Präsenzerfassung Online-Status von Benutzern verfolgen und gemeinsamen Zustand synchronisieren
  • Quickstart — In 2 Minuten startklar
  • Backend only — Die Headless-API über einer bereits vorhandenen Datenbank
  • Project Structure — Verstehen Sie den generierten Code und die fünf Begriffe, die auf den restlichen Seiten vorausgesetzt werden
  • Collections — Definieren Sie Ihr Datenschema
  • Backend — Konfigurieren Sie Authentifizierung, Speicher und die API
  • Architecture — Verstehen Sie das Zusammenspiel aller Komponenten