Einführung
Was ist Rebase?
Abschnitt betitelt „Was ist Rebase?“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.
Wählen Sie Ihren Weg
Abschnitt betitelt „Wählen Sie Ihren Weg“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.
Funktionsweise
Abschnitt betitelt „Funktionsweise“┌──────────────────────────────────────────────────────┐│ 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) │└──────────────────────────────────────────────────────┘Schnellstart
Abschnitt betitelt „Schnellstart“pnpm dlx @rebasepro/cli init my-appcd my-appinit generiert eine sofort einsatzbereite .env-Datei für Sie – keine Bearbeitung erforderlich. Danach:
pnpm installpnpm run devDas 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.
Hauptfunktionen
Abschnitt betitelt „Hauptfunktionen“| 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 |
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“- 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