RxDB (short for Reactive Database) is a NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and Node.js. Reactive means that you can not only query the current state but subscribe to all state changes like the result of a query or even a single field of a document. This is great for UI-based real-time applications in a way that makes it easy to develop and also has great performance benefits. To replicate data between your clients and server, RxDB provides modules for real-time replication with any CouchDB compliant endpoint and also with custom GraphQL endpoints. Multiplatform support for browsers, nodejs, electron, Cordova, react-native and every other javascript runtime. Replication between client and server-data, compatible with pouchdbPouchDB, couchdbCouchDB, and cloudantIBM Cloudant. There is also a plugin for a GraphQL replication.
Features
- Reactive data-handling based on RxJS
- Offline first let your app still work when users have no internet
- Schema-based with the easy-to-learn standard of json-schema
- Mango-Query exactly like you know from mongoDB and mongoose
- Encryption of single data-fields to protect your users data
- Import/Export of the database-state (json), awesome for coding with TDD