Erste Schritte

Zwei Wege zum Start.
Ein privates Fundament.

Haven ist der fertige Arbeitsbereich, mit dem dein Team die MindooDB-Plattform schon heute im Browser testen kann. Das MindooDB SDK ist die quelloffene Datenschicht darunter - binde sie in dein eigenes Produkt ein oder baue Apps für Haven. Beide Wege teilen dieselbe Ende-zu-Ende-Verschlüsselung, denselben Local-First-Sync und dieselbe signierte Historie.

Runtime wählen

Plattform-Guides

Jeder Guide führt dich von der Installation bis zum funktionierenden synchronisierten Dokument. Alle drei Runtimes sprechen dasselbe Protokoll und können untereinander synchronisieren.

Kopieren & ausführen

Quickstart: Tenant, Dokument, Sync

Ein Aufruf erzeugt den Tenant mit Admin- und Benutzerschlüsseln, den KeyBag und den Eintrag im Verzeichnis. Auf jeder Plattform ist es derselbe Code — nur der Import-Pfad ändert sich.

import {
  BaseMindooTenantFactory,
  InMemoryContentAddressedStoreFactory,
} from "mindoodb";

const storeFactory = new InMemoryContentAddressedStoreFactory();
const factory = new BaseMindooTenantFactory(storeFactory);

// 1) Create tenant — generates admin + user keys, KeyBag, and directory
const { tenant, adminUser, appUser, keyBag } = await factory.createTenant({
  tenantId: "acme",
  adminName: "cn=admin/o=acme",
  adminPassword: "admin-password",
  userName: "cn=alice/o=acme",
  userPassword: "alice-password",
});

// 2) Create a document
const db = await tenant.openDB("contacts");
const doc = await db.createDocument();
await db.changeDoc(doc, (d) => { d.getData().name = "John Doe"; });

// 3) Publish tenant to server + push encrypted changes
await tenant.publishToServer("https://sync.acme.com", {
  registerUsers: [factory.toPublicUserId(appUser)],
});
const remote = await tenant.connectToServer("https://sync.acme.com", "contacts");
await db.pushChangesTo(remote);

Du willst einen zweiten Benutzer hinzufügen? Funktionsweise zeigt den vollständigen Join-Ablauf für mehrere Benutzer.

Plattformübergreifender Sync

Wie alles zusammenspielt

Node.js
Node.js-Server
Webbrowser
Webbrowser
React Native
React-Native-App
🔒 MindooDB Sync-Server — speichert & leitet Geheimtext weiter, sieht nie Klartext

Jeder MindooDB-Client — ob in einem Node.js-Backend, in einem Web-Frontend oder in einer React-Native-App — spricht dasselbe verschlüsselte Sync-Protokoll. Der Server speichert und leitet Geheimtext weiter, ohne je Klartext zu sehen. Benutzer können offline arbeiten und synchronisieren nahtlos, sobald wieder eine Verbindung besteht.

Den vollständigen Ablauf für mehrere Benutzer ansehen →