All Projects β†’ YousefED β†’ SyncedStore

YousefED / SyncedStore

Licence: MIT license
SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to SyncedStore

Yjs
Shared data types for building collaborative software
Stars: ✭ 5,894 (+459.73%)
Mutual labels:  offline-first, collaboration, crdt, yjs
state
A Redux-based state container for local-first software, offering seamless synchronization using Automerge CRDTs. (Formerly known as 🐟 Cevitxe).
Stars: ✭ 126 (-88.03%)
Mutual labels:  offline-first, crdt
launchlet
Make the web yours.
Stars: ✭ 34 (-96.77%)
Mutual labels:  offline-first, svelte
credt
CRDT-like data structures for building distributed, offline-first applications
Stars: ✭ 32 (-96.96%)
Mutual labels:  offline-first, crdt
Blindpad
Collaborative text editor (like Google Docs or CoderPad) with integrated semi-anonymizing voice chat intended to help reduce bias in technical communication.
Stars: ✭ 191 (-81.86%)
Mutual labels:  collaboration, crdt
Peer Base
Build real-time collaborative DApps on top of IPFS
Stars: ✭ 208 (-80.25%)
Mutual labels:  collaboration, crdt
y-indexeddb
IndexedDB database adapter for Yjs
Stars: ✭ 57 (-94.59%)
Mutual labels:  offline-first, yjs
Gun
An open source cybersecurity protocol for syncing decentralized graph data.
Stars: ✭ 15,172 (+1340.84%)
Mutual labels:  offline-first, crdt
Js Delta Crdts
Delta State-based CRDTs in Javascript
Stars: ✭ 156 (-85.19%)
Mutual labels:  offline-first, crdt
Offlinesampleapp
Sample Offline-First MVVM app that uses Android Priority Job Queue, Room, Retrofit2, LiveData, LifecycleObserver, RxJava2, Dagger Android
Stars: ✭ 653 (-37.99%)
Mutual labels:  offline-first, reactive-programming
Documentserver
ONLYOFFICE Document Server is an online office suite comprising viewers and editors for texts, spreadsheets and presentations, fully compatible with Office Open XML formats: .docx, .xlsx, .pptx and enabling collaborative editing in real time.
Stars: ✭ 2,335 (+121.75%)
Mutual labels:  collaboration, collaborative
dynamic-data-and-capabilities
[ARCHIVED] Dynamic Data and Capabilities in IPFS Working Group
Stars: ✭ 57 (-94.59%)
Mutual labels:  collaboration, crdt
Etherpad Lite
Etherpad: A modern really-real-time collaborative document editor.
Stars: ✭ 11,937 (+1033.62%)
Mutual labels:  collaboration, collaborative
Slate Collaborative
slatejs collaborative plugin & microservice https://slate-collaborative.herokuapp.com/
Stars: ✭ 236 (-77.59%)
Mutual labels:  collaboration, crdt
Tandem
Typing in Tandem. Decentralized, cross-editor, collaborative text-editing!
Stars: ✭ 678 (-35.61%)
Mutual labels:  collaboration, collaborative
Text
πŸ“‘ Collaborative document editing using Markdown
Stars: ✭ 282 (-73.22%)
Mutual labels:  collaboration, collaborative
Fluidframework
Library for building distributed, real-time collaborative web applications
Stars: ✭ 3,592 (+241.12%)
Mutual labels:  collaboration, crdt
Faraday
Faraday introduces a new concept - IPE (Integrated Penetration-Test Environment) a multiuser Penetration test IDE. Designed for distributing, indexing, and analyzing the data generated during a security audit.
Stars: ✭ 3,198 (+203.7%)
Mutual labels:  collaboration, collaborative
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network
Stars: ✭ 5,101 (+384.43%)
Mutual labels:  offline-first, crdt
Redwood
A highly-configurable, distributed, realtime database that manages a state tree shared among many peers.
Stars: ✭ 218 (-79.3%)
Mutual labels:  offline-first, crdt

SyncedStore CRDT

npm version Coverage Status

Discord

(This library was previously called "Reactive-CRDT")

SyncedStore is an easy-to-use library for building collaborative applications that sync automatically. It's built on top of Yjs, a proven, high performance CRDT implementation.

TL;DR

Create apps like this:

SyncedStore CRDT screencapture

Play with this example

Using an API as simple as this:

// add a todo
store.todos.push({ completed: false, title: "Get groceries" });

// set todo to completed
store.todos[0].completed = true;

Documentation

View the documentation with interactive code samples

You can find the SyncedStore documentation on the website.

Examples

We have several examples on the website (React, Vue, Svelte) as part of the documentation.

In this repository, there are also more complex examples based on TodoMVC (examples/todo-react, examples/todo-vue, examples/todo-svelte).

example app screencapture

  • Open live demo: React or Vue (Of course, open multiple times to test multiplayer)
  • Edit / view on Codesandbox React / Vue

Motivation

SyncedStore makes it easy to develop applications that:

  • πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦ Are collaborative: create multi-user and multi-device experiences without the need to handle complex conflict resolution management yourself.
  • πŸš€ Are fast: operations are handled locally, and data synchronization with other users and devices happens quietly in the background. 0 Latency!
  • πŸ”— Work offline: cloud apps typically don’t work while offline. Supporting both data sync and offline used to be difficult, SyncedStore aims to simplify this.

Perhaps most importantly, it makes it easy to build decentralized applications. This has a lot of security & privacy benefits compared to always relying on central (expensive) servers to keep track of all our data.

Read more about the benefits of Local-first software in this essay

In short, with some technological magic of so-called CRDTs (Conflict-free Replicated Data Types), we can build cross-device apps that are more collaborative, faster, work offline AND put the user back in control of their data.

Feedback

I'd always love to hear how you're using SyncedStore. Definitely open an issue if you need help, get in touch via Twitter, or join the discussion in the Yjs forums.

Credits ❀️

SyncedStore builds directly on Yjs and Reactive. It's also inspired by and builds upon the amazing work by MobX and NX Observe.

SyncedStore is built as part of TypeCell. TypeCell is proudly sponsored by the renowned NLNet foundation who are on a mission to support an open internet, and protect the privacy and security of internet users. Check them out!

NLNet

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].