Sobre el proyecto

RxDB (Base de Datos Reactiva) es una base de datos NoSQL local-first para aplicaciones JavaScript. Es reactiva: además de consultar el estado actual, las aplicaciones pueden suscribirse a cambios en el resultado de una consulta o incluso en un solo campo de un documento, lo cual el proyecto considera útil para aplicaciones en tiempo real e impulsadas por la interfaz de usuario. La base de datos está construida alrededor de una interfaz de almacenamiento, por lo que el motor de almacenamiento subyacente puede ser intercambiado. Las opciones de almacenamiento documentadas incluyen LocalStorage, IndexedDB, OPFS, LokiJS, Dexie.js, en memoria, SQLite, ejecución dentro de un WebWorker, FoundationDB y DenoKV. Así, el mismo código de base de datos puede reutilizarse en diferentes entornos. Los entornos de ejecución de JavaScript admitidos, enumerados en el README, incluyen navegadores, Node.js, React Native, Capacitor, NativeScript, Flutter y Electron. Para la replicación, RxDB proporciona un Motor de Sincronización diseñado para trabajar con infraestructura existente en lugar de una base de datos o nube específica. El protocolo se describe como implementable a través de tres endpoints HTTP, y se enumeran plugins de producción listos para GraphQL, CouchDB, WebSocket, WebRTC (P2P), Supabase, Firestore, NATS y Google Drive. El conjunto de características incluye registro, adjuntos, una capa ORM, manejo de conflictos, middleware, señales, integración con TanStack DB, estado reactivo, copia de seguridad, replicación, un componente de servidor, almacenamientos, documentos locales, validación de esquemas, compresión de claves, migración de esquemas, encriptación, soporte CRDT y población de documentos referenciados. La instalación se realiza a través de npm (rxdb y rxjs). El README muestra un inicio rápido que crea una base de datos con un almacenamiento, añade una colección con un esquema JSON, inserta un documento, ejecuta una consulta con exec() y observa una consulta a través de un observable. La documentación, los tutoriales y los proyectos de ejemplo están alojados en rxdb.info y en el directorio de ejemplos del repositorio. El proyecto también menciona plugins premium disponibles para la compra y soporte comunitario a través de Discord, Twitter y LinkedIn. La primera versión de RxDB fue en 2018, según el README.