All Projects → yjs → y-indexeddb

yjs / y-indexeddb

Licence: other
IndexedDB database adapter for Yjs

Programming Languages

javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to y-indexeddb

Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+10240.35%)
Mutual labels:  offline-first, yjs
SyncedStore
SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.
Stars: ✭ 1,053 (+1747.37%)
Mutual labels:  offline-first, yjs
grouptabs
Mobile Web App to organize payments in dynamic groups of people.
Stars: ✭ 40 (-29.82%)
Mutual labels:  offline-first
Headlines
Simple Headlines app to showcase MVVM(Model-View-ViewModel) architecture with OFFLINE functionality in android.
Stars: ✭ 48 (-15.79%)
Mutual labels:  offline-first
app
Source code of intencje.pl website and mobile/desktop apps based on Angular, Firebase, and Capacitor.
Stars: ✭ 12 (-78.95%)
Mutual labels:  offline-first
shopping-list
a PWA to note shopping list and see shopping history
Stars: ✭ 24 (-57.89%)
Mutual labels:  offline-first
Bolt
⚡ is a fast grunt based, data driven, static site seed project, for rapid web development of PWA's or JAMstack projects
Stars: ✭ 30 (-47.37%)
Mutual labels:  offline-first
drummer
Offline-first drum machine
Stars: ✭ 19 (-66.67%)
Mutual labels:  offline-first
minesweeper
💣Minesweeper game written with React
Stars: ✭ 18 (-68.42%)
Mutual labels:  offline-first
octo
Build your knowledge base
Stars: ✭ 252 (+342.11%)
Mutual labels:  offline-first
offline-first-app
OfflineFirst demo app with some WebComponents and PouchDB
Stars: ✭ 27 (-52.63%)
Mutual labels:  offline-first
angular-http-cache
Speed up your remote requests by automatically caching them on client and add support for offline navigation.
Stars: ✭ 25 (-56.14%)
Mutual labels:  offline-first
launchlet
Make the web yours.
Stars: ✭ 34 (-40.35%)
Mutual labels:  offline-first
onepile
Playground for the future of private notes and document management
Stars: ✭ 41 (-28.07%)
Mutual labels:  offline-first
remotestorage-widget
⬡ Connect widget for remoteStorage.js
Stars: ✭ 23 (-59.65%)
Mutual labels:  offline-first
parse-react
[EXPERIMENTAL] React, React Native, and React with SSR (e.g. Next.js) packages to interact with Parse Server backend
Stars: ✭ 58 (+1.75%)
Mutual labels:  offline-first
couch-auth
Powerful authentication for APIs and apps using CouchDB (or Cloudant) with Node >= 14
Stars: ✭ 50 (-12.28%)
Mutual labels:  offline-first
y-websocket
Websocket Connector for Yjs
Stars: ✭ 195 (+242.11%)
Mutual labels:  yjs
CouchDraw
A synchronized drawing app that utilizes Couchbase Sync Gateway and Xamarin to enable shared canvases.
Stars: ✭ 22 (-61.4%)
Mutual labels:  offline-first
Github-Trending-Repos
An Android App that lists the most trending repositories from Github.
Stars: ✭ 57 (+0%)
Mutual labels:  offline-first

y-indexeddb

IndexedDB database provider for Yjs. Documentation

Use the IndexedDB database adapter to store your shared data persistently in the browser. The next time you join the session, your changes will still be there.

  • Minimizes the amount of data exchanged between server and client
  • Makes offline editing possible

Getting Started

You find the complete documentation published online: API documentation.

npm i --save y-indexeddb
const provider = new IndexeddbPersistence(docName, ydoc)

provider.on('synced', () => {
  console.log('content from the database is loaded')
})

API

provider = new IndexeddbPersistence(docName: string, ydoc: Y.Doc)
Create a y-indexeddb persistence provider. Specify docName as a unique string that identifies this document. In most cases, you want to use the same identifier that is used as the room-name in the connection provider.
provider.on('synced', function(idbPersistence: IndexeddbPersistence))
The "synced" event is fired when the connection to the database has been established and all available content has been loaded. The event is also fired when no content is available yet.
provider.set(key: any, value: any): Promise<any>
Set a custom property on the provider instance. You can use this to store relevant meta-information for the persisted document. However, the content will not be synced with other peers.
provider.get(key: any): Promise>any<
Retrieve a stored value.
provider.del(key: any): Promise>undefined<
Delete a stored value.
provider.destroy(): Promise
Close the connection to the database and stop syncing the document. This method is automatically called when the Yjs document is destroyed (e.g. ydoc.destroy()).
provider.clearData(): Promise
Destroy this database and remove the stored document and all related meta-information from the database.

License

Yjs is licensed under the MIT License.

[email protected]

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].