rxdb  by pubkey

Reactive, local-first NoSQL database for JavaScript

Created 9 years ago
23,053 stars

Top 1.9% on SourcePulse

GitHubView on GitHub
Project Summary

A fast, local-first, reactive NoSQL database for JavaScript applications, RxDB simplifies the development of real-time UIs and high-performance backends. It targets developers building websites, hybrid apps, Electron apps, PWAs, Deno, and Node.js applications, offering a robust solution for managing local data with real-time synchronization capabilities.

How It Works

RxDB operates on a local-first, reactive paradigm, allowing applications to subscribe to data changes, including query results and individual document fields. This facilitates seamless real-time updates in user interfaces. Its architecture is built around a flexible storage interface, enabling developers to swap underlying storage engines like IndexedDB, OPFS, SQLite, or in-memory stores. A key feature is its battle-tested Sync Engine, which supports replication via various protocols and plugins (HTTP, GraphQL, CouchDB, WebRTC, etc.), allowing integration with diverse backend infrastructures.

Quick Start & Requirements

  • Install: npm install rxdb rxjs --save
  • Prerequisites: A JavaScript runtime environment (Browsers, Node.js, React Native, Electron, etc.). Specific storage plugins are required for different environments (e.g., getRxStorageLocalstorage for browsers).
  • Links: Official documentation and quickstart guide available at https://rxdb.info/. Example projects are also provided.

Highlighted Details

  • Reactive data model enables real-time UI updates and event subscriptions.
  • Flexible storage layer supports numerous backends including LocalStorage, IndexedDB, OPFS, LokiJS, Dexie.js, in-memory, SQLite, FoundationDB, and DenoKV.
  • Comprehensive replication support through a Sync Engine with plugins for HTTP, GraphQL, CouchDB, Websocket, WebRTC (P2P), Supabase, Firestore, and NATS.
  • Broad runtime compatibility across Browsers, Node.js, React Native, Electron, Capacitor, NativeScript, and Flutter.

Maintenance & Community

Community engagement is encouraged via Discord. The project also maintains a presence on LinkedIn. Contribution guidelines are available, and premium plugins may require purchase.

Licensing & Compatibility

The provided documentation does not explicitly state the project's license. Therefore, compatibility for commercial use or closed-source linking cannot be determined from the available information.

Limitations & Caveats

The README emphasizes a comprehensive feature set, suggesting few immediate limitations. However, the mention of "premium plugins" indicates that certain advanced functionalities may not be included in the open-source offering. The absence of explicit licensing information is a significant caveat for adoption decisions.

Health Check
Last Commit

18 hours ago

Responsiveness

Inactive

Pull Requests (30d)
146
Issues (30d)
8
Star History
84 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Joe Walnes Joe Walnes(Head of Experimental Projects at Stripe), and
9 more.

3FS by deepseek-ai

0.1%
10k
Distributed file system for AI training/inference workloads
Created 1 year ago
Updated 18 hours ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Travis Fischer Travis Fischer(Founder of Agentic), and
10 more.

ToolJet by ToolJet

0.1%
37k
Low-code platform for building internal tools
Created 4 years ago
Updated 16 hours ago
Feedback? Help us improve.