Skip to content
Search

GoatDB

lastmod 2025-03-13created 2025-03-131 edits

Lightweight NoDB for Deno and React

Features

  • Real-time version-controlled database for lightweight deployment environments
  • Optimized for prototyping, self-hosting, Single-Tenant apps, and ultra-lightweight Multi-Tenant environments without a backend or DB
  • No separate infrastructure needed → runs the entire DB on the client, with no server-side indexing required
  • Offline-First architecture → keeps working on the client and can recover even if the server goes down
  • Edge-Native → performs most processing on the client to minimize server load
  • Real-time sync support → automatically syncs client and server state
    • A server cluster can be set up easily by setting replica locations in peers at initialization
    • Supports server-to-server sync via a sync protocol, and scales without code changes even when more servers are added
  • Uses React Hooks
    • GoatDB's React Hooks provide a complete state management solution and allow synchronous (mutable) state modification
    • For example, a change such as task.set('done', true) is reflected in memory immediately, and GoatDB automatically handles diffing, local storage commits, server sync, and conflict resolution in the background
  • Security model
    • Each node keeps a public/private key pair, and the private key is never exposed externally
    • Every commit is digitally signed, so tampered changes are rejected automatically
    • Data access can be controlled through custom permission policies
  • Conflict resolution
    • Three-Way Merge: automatically merges and cleans up conflicting changes
    • Logoot-style sequential ID assignment: applies a unique identifier system that prevents insert/delete conflicts within data

See also

Favorite site

author Zer0 sitemap