-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
/
Copy pathindex.html
41 lines (39 loc) · 41.1 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<!doctype html>
<html lang="en" dir="ltr" class="plugin-pages plugin-id-default" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.7.0">
<title data-rh="true">RxDB - JavaScript Database | RxDB - JavaScript Database</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://rxdb.info/img/rxdb_social_card.png"><meta data-rh="true" name="twitter:image" content="https://rxdb.info/img/rxdb_social_card.png"><meta data-rh="true" property="og:url" content="https://rxdb.info/"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docusaurus_tag" content="default"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docsearch:docusaurus_tag" content="default"><meta data-rh="true" property="og:title" content="RxDB - JavaScript Database | RxDB - JavaScript Database"><meta data-rh="true" name="description" content="RxDB is a fast, local-first NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and Node.js"><meta data-rh="true" property="og:description" content="RxDB is a fast, local-first NoSQL-database for JavaScript Applications like Websites, hybrid Apps, Electron-Apps, Progressive Web Apps and Node.js"><link data-rh="true" rel="icon" href="/img/favicon.ico"><link data-rh="true" rel="alternate" href="https://rxdb.info/" hreflang="en"><link data-rh="true" rel="alternate" href="https://rxdb.info/" hreflang="x-default"><link data-rh="true" rel="canonical" href="https://rxdb.info/"><script data-rh="true">function insertBanner(){var n=document.createElement("div");n.id="__docusaurus-base-url-issue-banner-container";n.innerHTML='\n<div id="__docusaurus-base-url-issue-banner" style="border: thick solid red; background-color: rgb(255, 230, 179); margin: 20px; padding: 20px; font-size: 20px;">\n <p style="font-weight: bold; font-size: 30px;">Your Docusaurus site did not load properly.</p>\n <p>A very common reason is a wrong site <a href="https://docusaurus.io/docs/docusaurus.config.js/#baseUrl" style="font-weight: bold;">baseUrl configuration</a>.</p>\n <p>Current configured baseUrl = <span style="font-weight: bold; color: red;">/</span> (default value)</p>\n <p>We suggest trying baseUrl = <span id="__docusaurus-base-url-issue-banner-suggestion-container" style="font-weight: bold; color: green;"></span></p>\n</div>\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))</script><link rel="preconnect" href="https://www.google-analytics.com">
<link rel="preconnect" href="https://www.googletagmanager.com">
<script async src="https://www.googletagmanager.com/gtag/js?id=G-62D63SY3S0"></script>
<script>function gtag(){dataLayer.push(arguments)}window.dataLayer=window.dataLayer||[],gtag("js",new Date),gtag("config","G-62D63SY3S0",{})</script>
<link rel="preconnect" href="https://www.googletagmanager.com">
<script>window.dataLayer=window.dataLayer||[]</script>
<script>!function(e,t,a,n){e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var g=t.getElementsByTagName(a)[0],m=t.createElement(a);m.async=!0,m.src="https://www.googletagmanager.com/gtm.js?id=GTM-PL63TR5",g.parentNode.insertBefore(m,g)}(window,document,"script","dataLayer")</script><link rel="stylesheet" href="/assets/css/styles.bc483400.css">
<script src="/assets/js/runtime~main.68ae4ffa.js" defer="defer"></script>
<script src="/assets/js/main.90e814da.js" defer="defer"></script>
</head>
<body class="homepage">
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-PL63TR5" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return window.localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const n=new URLSearchParams(window.location.search).entries();for(var[t,e]of n)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><div class="navbar__logo"><img src="/files/logo/logo.svg" alt="RxDB Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/files/logo/logo.svg" alt="RxDB Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">RxDB</b></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" href="/consulting/">Support</a><a class="navbar__item navbar__link" href="/premium/">Premium</a><a class="navbar__item navbar__link" href="/overview.html">Docs</a><div class="navbarSearchContainer_Bca1"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div style="position:fixed;display:block;z-index:10;height:1.5px;background-color:var(--color-top);top:62.5px;border-top-right-radius:2px;border-bottom-right-radius:2px;width:0%"></div><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><main><div class="block first hero centered dark"><div class="content"><div class="inner"><div class="half left"><h1>The local <b class="underline">Database</b> for<!-- --> <b class="underline">JavaScript</b> Applications</h1><div class="text">Store data locally to build high performance realtime <!-- --> applications that sync data with the backend and even work when offline.</div><br><br><div class="hero-action"><div class="button button-empty">How others use it</div></div><div class="hero-action"><a class="button" href="/quickstart.html">Get Started For Free ➤<br></a><a href="/premium/"><div class="buy-option-action">(Get Premium)</div></a></div><div class="clear"></div><br></div><div class="half right" style="display:flex;align-items:center;justify-content:center;padding-left:6%;padding-right:2%"><img src="/img/hero.svg" class="hero-img" alt="rxdb-image"></div><div class="clear"></div></div></div><br><br><br><br></div><a href="/code/" target="_blank"><div class="trophy github"><img loading="lazy" src="/files/icons/github-star-with-logo.svg" alt="RxDB GitHub"><div style="flex:1"><div class="subtitle">Open Source on</div><div class="title">GitHub</div></div><div><div class="valuetitle">stars</div><div class="value">21,699<div class="arrow-up"> </div></div></div></div></a><div class="block second dark"><div class="content"><h2>Realtime Applications <b class="underline">made easy</b></h2><p>In RxDB, everything is observable. <b>Query Results</b>, <b>Documents</b>, <b>Document Fields</b>, <b>Events</b>.</p><ul class="checked"><li>Whenever your data changes, your UI reflects the new state.</li><li>Realtime updates across components, browser tabs and user devices</li><li>All major frameworks Supported:</li></ul><div class="inner"><div class="code half"><div class="ant-tabs ant-tabs-top observe-code-example-tabs css-cdzvx5" style="min-height:650px"><div role="tablist" aria-orientation="horizontal" class="ant-tabs-nav"><div class="ant-tabs-nav-wrap"><div class="ant-tabs-nav-list" style="transform:translate(0px, 0px)"><div data-node-key="RxJS" class="ant-tabs-tab ant-tabs-tab-active"><div role="tab" aria-selected="true" class="ant-tabs-tab-btn" tabindex="0"><span class="ant-tabs-tab-icon"><img src="/files/icons/rxjs.svg" loading="lazy" alt="rxjs observable"></span><span>RxJS</span></div></div><div data-node-key="Angular" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/angular.svg" loading="lazy" alt="Angular async pipe"></span><span>Angular</span></div></div><div data-node-key="React" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/react.svg" loading="lazy" alt="React signals"></span><span>React</span></div></div><div data-node-key="Vue.js" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/vuejs.svg" loading="lazy" alt="Vue Refs"></span><span>Vue.js</span></div></div><div data-node-key="Svelte" class="ant-tabs-tab"><div role="tab" aria-selected="false" class="ant-tabs-tab-btn" tabindex="-1"><span class="ant-tabs-tab-icon"><img src="/files/icons/svelte.svg" loading="lazy" alt="Svelte Store"></span><span>Svelte</span></div></div><div class="ant-tabs-ink-bar ant-tabs-ink-bar-animated"></div></div></div><div class="ant-tabs-nav-operations ant-tabs-nav-operations-hidden"><button type="button" class="ant-tabs-nav-more" style="visibility:hidden;order:1" aria-haspopup="listbox" aria-controls="null-more-popup" id="null-more" aria-expanded="false"><span role="img" aria-label="ellipsis" class="anticon anticon-ellipsis"><svg viewBox="64 64 896 896" focusable="false" data-icon="ellipsis" width="1em" height="1em" fill="currentColor" aria-hidden="true"><path d="M176 511a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0zm280 0a56 56 0 10112 0 56 56 0 10-112 0z"></path></svg></span></button></div></div><div class="ant-tabs-content-holder"><div class="ant-tabs-content ant-tabs-content-top"><div role="tabpanel" tabindex="0" aria-hidden="false" class="ant-tabs-tabpane ant-tabs-tabpane-active"><fieldset class="samp-wrapper" style="background-color:var(--bg-color)"><legend>Write</legend><samp><span class="cm-keyword">await </span><span class="cm-variable">collection</span>.<span class="cm-method">upsert</span>(<!-- -->{<br><span class="cm-property"> id</span>: <span class="cm-string">'foobar'</span>,<br><span class="cm-property"> color</span>: <span class="cm-string">'<span class="beating-color-string beating-color">#e6008d</span>'</span><br>}<!-- -->);</samp></fieldset><br><br><fieldset class="samp-wrapper" style="background-color:var(--bg-color)"><legend>Observe with <!-- -->RxJS Observable</legend><samp style="background-color:var(--bg-color)"><span class="cm-keyword">await </span><span class="cm-variable">collection</span>.<span class="cm-method">findOne(<span class="cm-string">'foobar'</span>)</span><br> .<span class="cm-property">$</span><span class="cm-comment"> // get observable</span><br> .<span class="cm-method">subscribe</span>(<span class="cm-def">d</span><span class="cm-operator"> =></span> <!-- -->{<br><span class="cm-variable"> screen</span>.<span class="cm-property">backgroundColor</span><span class="cm-operator"> = </span><span class="cm-variable">d</span>.<span class="cm-property beating-color">color</span>;<br> <!-- -->}<!-- -->);</samp></fieldset></div></div></div></div></div><div class="canvas half"><div class="content-canvas"><div class="device tablet" style="margin-left:481px;margin-top:117px"><div class="beating-color"><img src="/files/logo/logo.svg" class="beating logo" alt="RxDB"></div></div><div class="device desktop" style="margin-top:0%"><div class="beating-color"><img src="/files/logo/logo_text.svg" class="beating logo" alt="RxDB"></div></div><div class="device server" style="margin-left:0;margin-top:168px"><div class="beating-color one"></div><div class="beating-color two"></div><div class="beating-color three"></div></div></div></div></div></div></div><a href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank"><div class="trophy twitter"><img loading="lazy" src="/files/icons/twitter-blue.svg" alt="RxDB Twitter"><div style="flex:1"><div class="subtitle">Follow on</div><div class="title">Twitter</div></div><div><div class="valuetitle">followers</div><div class="value">2,987<div class="arrow-up"> </div></div></div></div></a><div class="block replication"><div class="content"><div class="half left"><br><br><br><br><br><h2>Sync with <b class="underline">any Backend</b></h2><p>RxDB's high-performance <a href="/replication.html" target="_blank">replication protocol</a> powers real-time synchronization between <!-- --> clients and servers. While specialized plugins exist for <a href="/replication-graphql.html" target="_blank">GraphQL</a>, <a href="/replication-couchdb.html" target="_blank">CouchDB</a>, <a href="/replication-webrtc.html">P2P</a>, <a href="/replication-firestore.html" target="_blank">Firestore</a>, and <a href="/replication-nats.html" target="_blank">NATS</a>, it remains <b>backend-agnostic</b> — seamlessly integrating with <a href="/replication-http.html" target="_blank">any infrastructure over HTTP</a> for unmatched flexibility and speed.</p></div><div class="half left"><div class="replication-icons"><img src="/files/logo/logo.svg" alt="RxDB" class="replicate-logo tilt-to-mouse" loading="lazy"><a href="/replication-graphql.html" target="_blank"><div class="neumorphism-circle-xl centered replicate-graphql enlarge-on-mouse"><img src="/files/icons/graphql-text.svg" alt="GraphQL" class="protocol" loading="lazy"></div></a><a href="/replication-firestore.html" target="_blank"><div class="neumorphism-circle-s centered replicate-firestore enlarge-on-mouse"><img src="/files/icons/firebase.svg" alt="Firebase" class="protocol" loading="lazy"></div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/supabase" target="_blank"><div class="neumorphism-circle-s centered replicate-supabase enlarge-on-mouse"><img src="/files/icons/supabase.svg" alt="supabase" class="protocol" loading="lazy"></div></a><a href="/replication-couchdb.html" target="_blank"><div class="neumorphism-circle-xl centered replicate-couchdb enlarge-on-mouse"><img src="/files/icons/couchdb-text.svg" alt="CouchDB" class="protocol" loading="lazy"></div></a><a href="/replication-http.html" target="_blank"><div class="neumorphism-circle-xs centered replicate-rest enlarge-on-mouse">{<!-- --> HTTP <!-- -->}</div></a><a href="/replication-websocket.html" target="_blank"><div class="neumorphism-circle-xs centered replicate-websocket enlarge-on-mouse">WebSocket</div></a><a href="/replication-webrtc.html" target="_blank"><div class="neumorphism-circle-xs centered replicate-webrtc enlarge-on-mouse">WebRTC</div></a></div></div><div class="clear"></div></div></div><a href="/chat/" target="_blank"><div class="trophy discord"><img loading="lazy" src="/files/icons/discord.svg" alt="RxDB Discord"><div style="flex:1"><div class="subtitle">Chat on</div><div class="title">Discord</div></div><div><div class="valuetitle">members</div><div class="value">1,070<div class="arrow-up"> </div></div></div></div></a><div class="block offline-first dark"><div class="offline-image-wrapper"><img src="/files/icons/wifi/wifi_1a202c.svg" class="offline-image beating-second" loading="lazy" alt="offline"></div><div class="content"><h2>Online <b class="underline">is Optional</b></h2><div class="full-width"><div class="half left"><p>RxDB adopts an <a href="/offline-first.html" target="_blank">offline-first</a> approach, keeping your app fully functional even without a connection. Data is stored locally on the <!-- --> client and seamlessly <b>replicated in the background</b>, and you can even skip the backend entirely if you choose.</p></div><div class="half right"><ul class="checked"><li>Keep your <!-- --> app running <b>offline</b></li><li>Boost perceived <b>performance</b></li><li>Simplify and <b>speed up development</b></li><li>Reduces backend load and <b>scales better</b></li></ul></div></div></div></div><div class="block frameworks"><div class="content"><a href="https://github.com/pubkey/rxdb/tree/master/examples/angular" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:-10%;left:10%"><img loading="lazy" src="/files/icons/angular.svg" alt="angular database">Angular</div></a><a href="https://rxdb.info/capacitor-database.html#rxdb" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:10%;left:58%"><img loading="lazy" src="/files/icons/capacitor.svg" alt="capacitor database">Capacitor</div></a><a href="https://rxdb.info/rx-storage-denokv.html" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:-4%;left:44%"><img loading="lazy" src="/files/icons/deno.svg" alt="deno database">Deno</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/node" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:-5%;left:85%"><img loading="lazy" src="/files/icons/nodejs.svg" alt="Node.js database">Node.js</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/react" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:4%;left:26%"><img loading="lazy" src="/files/icons/react.svg" alt="React database">React</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/svelte" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:15%;left:90%;margin-left:-35px"><img loading="lazy" src="/files/icons/svelte.svg" alt="Svelte database">Svelte</div></a><br><br><br><br><br><h2>Runs in <b class="underline">Any JavaScript Runtime</b></h2><p>RxDB's modular storage architecture adapts to any JavaScript runtime — <a href="/rx-storage-indexeddb.html" target="_blank">Browsers</a>, <a href="/rx-storage-sqlite.html" target="_blank">React Native</a>, <a href="/rx-storage-filesystem-node.html" target="_blank">Node.js</a>, <a href="/electron.html" target="_blank">Electron</a>, and beyond. Simply switch the storage plugin to reuse the same database and replication logic across all your <!-- --> apps, saving time and ensuring consistency.</p><div class="below-text"><a href="https://github.com/pubkey/rxdb/tree/master/examples/electron" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:2%;left:18%"><img loading="lazy" src="/files/icons/electron.svg" alt="electron database">Electron</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/vue" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:3%;left:45%"><img loading="lazy" src="/files/icons/vuejs.svg" alt="Vue.js database">Vue.js</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/ionic2" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:2%;left:71%"><img loading="lazy" src="/files/icons/ionic.svg" alt="ionic database">Ionic</div></a><a href="https://github.com/herefishyfish/rxdb-nativescript" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:46%;left:11%"><img loading="lazy" src="/files/icons/nativescript.svg" alt="NativeScript database">NativeScript</div></a><a href="https://github.com/pubkey/rxdb/tree/master/examples/react-native" target="_blank"><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:45%;left:35%"><img loading="lazy" src="/files/icons/react.svg" alt="React Native database">React Native</div></a><div class="neumorphism-circle-m circle centered enlarge-on-mouse" style="top:45%;left:62%"><img loading="lazy" src="/files/icons/nextjs.svg" alt="Next.js database">Next.js</div><a href="https://github.com/pubkey/rxdb/tree/master/examples/flutter" target="_blank"><div class="neumorphism-circle-s circle centered enlarge-on-mouse" style="top:40%;left:86%"><img loading="lazy" src="/files/icons/flutter.svg" alt="Flutter database">Flutter</div></a></div></div></div><div class="block features dark"><div class="content"><h2>All the <b class="underline">Features</b> You'll Ever Need</h2><p>Since its creation in 2018, RxDB has evolved into a powerhouse of features and plugins, offering an all-inclusive, future-proof solution for any type of <!-- --> application. Whatever you need now or might need down the road, is already built in. Giving you the confidence to create robust, scalable apps with ease.</p><div style="margin-top:65px;margin-bottom:5px;width:100%;max-width:1200px;padding:10px"><div class="tag-cloud"></div></div></div></div><div class="block reviews" id="reviews"><div class="content centered"><div class="inner"><h2>Used by <b class="underline">Thousands Worldwide</b></h2><p>RxDB is a proven, battle-tested solution used by countless developers across the globe. With its flexibility, RxDB is used in a vast spectrum of <!-- --> apps and services — from real-time collaboration tools to mission-critical enterprise systems:</p><br><br></div></div><div class="slick-slider slick-initialized" dir="ltr"><div class="slick-list" style="padding:0px 180px"><div class="slick-track" style="width:733.3333333333334%;left:-100.00000000000004%"><div data-index="-4" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="-3" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="-2" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="-1" tabindex="-1" class="slick-slide slick-active slick-cloned" aria-hidden="false" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div><div data-index="0" class="slick-slide slick-active slick-center slick-current" tabindex="-1" aria-hidden="false" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/readwise.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Readwise, USA</p><span class="company-link">readwise.io</span></div></div></div></div></div><div data-index="1" class="slick-slide slick-active" tabindex="-1" aria-hidden="false" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/safeex.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">SafeEx, Denmark</p><span class="company-link">safeex.com</span></div></div></div></div></div><div data-index="2" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/webware.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WebWare, Italy</p><span class="company-link">webware.dev</span></div></div></div></div></div><div data-index="3" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/myagro.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">myAgro, Africa</p><span class="company-link">myagro.org</span></div></div></div></div></div><div data-index="4" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We provide a mobile app that is used by people in the
field to fill in valuable information like inspections,
surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/moreapp.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">MoreApp, Germany</p><span class="company-link">moreapp.com</span></div></div></div></div></div><div data-index="5" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="6" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="7" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="8" class="slick-slide" tabindex="-1" aria-hidden="true" style="outline:none;width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div><div data-index="9" tabindex="-1" class="slick-slide slick-center slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB because it works across multiple platforms and we need to store of a great deal of data, some users have tens of thousands of documents! RxDB was the only cross-platform, offline-first solution with good enough performance to meet our needs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/readwise.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Readwise, USA</p><span class="company-link">readwise.io</span></div></div></div></div></div><div data-index="10" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB for our offline-first inspection software. It ensures accurate data even under poor connectivity, while its single interface for multiple databases streamlines development. RxDB's flexibility also supports easy expansion to more platforms and environments.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/safeex.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">SafeEx, Denmark</p><span class="company-link">safeex.com</span></div></div></div></div></div><div data-index="11" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB in our global offline-first app for technicians. Its robust features and total control ensure reliable performance, even with poor connectivity, resulting in a seamless maintenance solution.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/webware.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WebWare, Italy</p><span class="company-link">webware.dev</span></div></div></div></div></div><div data-index="12" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We rely on RxDB to manage all our data in one place. Our custom store became unwieldy, so we switched to RxDB for schema migrations, real-time replication, conflict resolution, and reactive programming. Its push and pull handlers also integrate smoothly with our existing APIs.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/myagro.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">myAgro, Africa</p><span class="company-link">myagro.org</span></div></div></div></div></div><div data-index="13" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We provide a mobile app that is used by people in the
field to fill in valuable information like inspections,
surveys and audits. Our users don't always have access to the internet, building from an Offline-first approach with RxDB allows us to have the data integrity we need without being online.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/moreapp.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">MoreApp, Germany</p><span class="company-link">moreapp.com</span></div></div></div></div></div><div data-index="14" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to create applications capable of being
used in the most remote areas where Internet access is
really a challenge.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/altgras.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">ALTGRAS, Guinea</p><span class="company-link">altgras.com</span></div></div></div></div></div><div data-index="15" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>We use RxDB to provide an offline first, cross platform
point of sale system. With RxDB we could create a web-, desktop- and mobile app using the same code base.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/woopos.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">WooCommerce POS, Australia</p><span class="company-link">wcpos.com</span></div></div></div></div></div><div data-index="16" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>RxDB is a main component in building offline-ready
multichannel apps. It has become our default stack for
this kind of apps.</h3><div class="slider-profile"><img class="slider-logo-black" src="/files/companies/atroo.png" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">atroo GmbH, Germany</p><span class="company-link">atroo.de</span></div></div></div></div></div><div data-index="17" tabindex="-1" class="slick-slide slick-cloned" aria-hidden="true" style="width:4.545454545454546%"><div><div class="slider-content" tabindex="-1" style="width:100%;display:inline-block"><img src="/img/quote.svg" class="review-img" alt="RxDB review quote" loading="lazy"><h3>With RxDB we have built an offline capable Progressive Web Application that is used by our borer operators to report on conditions at the mineface.</h3><div class="slider-profile"><img class="slider-logo-white" src="/files/companies/nutrien.svg" loading="lazy" alt="logo"><div class="slider-info"><p class="developer">Nutrien, Canada</p><span class="company-link">nutrien.com</span></div></div></div></div></div></div></div><ul style="display:block" class="slick-dots"><li class="slick-active"><button>1</button></li><li class=""><button>2</button></li><li class=""><button>3</button></li><li class=""><button>4</button></li><li class=""><button>5</button></li><li class=""><button>6</button></li><li class=""><button>7</button></li><li class=""><button>8</button></li><li class=""><button>9</button></li></ul></div></div><div class="block dark last"><div class="content"><h2>Start using <b class="underline">RxDB</b> today</h2><div class="buttons full-width"><a href="/quickstart.html" rel="noopener" target="_blank"><div class="button get-premium" style="left:50%;top:20%;margin-left:-122px">Quickstart</div></a><a href="/newsletter" rel="noopener" target="_blank"><div class="button" style="left:25%;margin-left:-90px">Get the Newsletter</div></a><a href="/chat/" rel="noopener" target="_blank"><div class="button" style="left:77%;top:6%;margin-left:-70.5px">Join the Chat</div></a><a href="/premium/"><div class="button" style="top:40%;left:20%;margin-left:-70.5px">Get Premium</div></a><a href="https://twitter.com/intent/user?screen_name=rxdbjs" rel="noopener" target="_blank"><div class="button" style="top:44%;left:73%;margin-left:-85px">Follow on Twitter</div></a><a href="/code/" rel="noopener" target="_blank"><div class="button" style="top:54%;left:32%;margin-left:-70px">Get the Code</div></a></div></div></div></main></div><div class="block footer"><div class="footer-block"><div class="footer-links"><span><a variant="text" href="/" class="footer-logo-button"><img src="/files/logo/logo.svg" alt="RxDB" loading="lazy"><div>RxDB</div></a><div class="footer-community-links"><a variant="text" href="/chat/" target="_blank"><img src="/img/community-links/discord-logo.svg" alt="RxDB Discord" loading="lazy"></a><a variant="text" href="/code/" target="_blank"><img src="/img/community-links/github-logo.svg" alt="RxDB Github" loading="lazy"></a><a variant="text" href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank"><img src="/img/community-links/x-logo.svg" alt="RxDB Twitter" loading="lazy"></a><a variant="text" href="https://www.linkedin.com/company/rxdb" target="_blank"><img src="/img/community-links/linkedin-logo.svg" alt="RxDB LinkedIn" loading="lazy"></a><a variant="text" href="https://stackoverflow.com/questions/tagged/rxdb" target="_blank"><img src="/img/community-links/stack-overflow-logo.svg" alt="RxDB Stack Overflow" loading="lazy"></a></div></span><div class="footer-nav-links"><a variant="text" href="/premium/" target="">Premium</a><a variant="text" href="/consulting/" target="">Support</a><a variant="text" href="/overview.html" target="">Documentation</a><a variant="text" href="/chat/" target="_blank">Discord</a><a variant="text" href="/code/" target="_blank">Github</a><a variant="text" href="https://twitter.com/intent/user?screen_name=rxdbjs" target="_blank">Twitter</a><a variant="text" href="https://www.linkedin.com/company/rxdb" target="_blank">LinkedIn</a></div></div><div class="footer-policy"><div><a variant="text" href="/legal-notice/" target="_blank">Legal Notice</a></div><span class="footer-rights">© 2025 RxDB. All rights reserved.</span></div><img class="footer-img desktop-img" src="/img/footer-column.svg" alt="columns" loading="lazy"></div></div><div class="call-to-action-popup"><div class="close"><div class="text">✕</div></div></div></div>
</body>
</html>