ShareDB
Realtime database backend based on Operational Transformation (OT)
README
ShareDB
ShareDB is a realtime database backend based on [Operational Transformation
(OT)](https://en.wikipedia.org/wiki/Operational_transformation) of JSON
documents. It is the realtime backend for the [DerbyJS web application
framework](http://derbyjs.com/).
For help, questions, discussion and announcements, join the [ShareJS mailing
list](https://groups.google.com/forum/?fromgroups#!forum/sharejs) or [read the documentation](https://share.github.io/sharedb/
).
Please report any bugs you find to the [issue
tracker](https://github.com/share/sharedb/issues).
Features
- Realtime synchronization of any JSON document
- Concurrent multi-user collaboration
- Synchronous editing API with asynchronous eventual consistency
- Realtime query subscriptions
- Simple integration with any database
- Horizontally scalable with pub/sub integration
- Projections to select desired fields from documents and operations
- Middleware for implementing access control and custom extensions
- Ideal for use in browsers or on the server
- Offline change syncing upon reconnection
- In-memory implementations of database and pub/sub for unit testing
- Access to historic document versions
- Realtime user presence syncing
Documentation
https://share.github.io/sharedb/
Examples
Counter
Leaderboard
Development
Documentation
The documentation is stored as Markdown files, but sometimes it can be useful to run these locally. The docs are served using Jekyll, and require Ruby >2.4.0 and Bundler:
- ``` sh
- gem install jekyll bundler
- ```
The docs can be built locally and served with live reload:
- ``` sh
- npm run docs:install
- npm run docs:start
- ```