SaaSHub helps you find the best software and product alternatives Learn more →
Top 7 crdt Open-Source Projects
-
electric
Local-first sync layer for web and mobile apps. Build reactive, realtime, local-first apps directly on Postgres.
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
Project mention: Ask HN: How Can I Make My Front End React to Database Changes in Real-Time? | news.ycombinator.com | 2024-04-17I'm interested in this problem also!
I think there is a large overlap with projects that market/focus on offline-first experiences.
AFAIK this problem can be solved by:
1) Considering a client-side copy of the database that gets synced with the remote DB. This is an approach [PowerSync](https://www.powersync.com/) and [ElectricSql](https://electric-sql.com/) and [rxdb](https://rxdb.info/) take!
Project mention: Cloudflare acquires PartyKit to allow developers to build real-time multi-user | news.ycombinator.com | 2024-04-05> Is there any documentation anywhere for this?
PartyKit is open source (https://github.com/partykit/partykit/, MIT), so you could create your own back-end. The Socket.IO folks did: https://blog.partykit.io/posts/party-io-a-socket-io-backend-...
Project mention: Show HN: ElectricSQL, Postgres to SQLite active-active sync for local-first apps | news.ycombinator.com | 2023-09-20Hi HN, James, Valter, Sam and the team from ElectricSQL here.
We're really excited to be sharing ElectricSQL with you today. It's an open source, local-first sync layer that can be used to build reactive, realtime, offline-capable apps directly on Postgres with two way active-active sync to SQLite (including with WASM in the browser).
Electric comprises a sync layer (built with Elixir) placed in front of your Postgres database and a type safe client that allows you to bidirectionally sync data from your Postgres to local SQLite databases. This sync is CRDT-based, resilient to conflicting edits from multiple nodes at the same time, and works after being offline for extended periods.
Some good links to get started:
- website: https://electric-sql.com
- docs: https://electric-sql.com/docs
- code: https://github.com/electric-sql/electric
- introducing post: https://electric-sql.com/blog/2023/09/20/introducing-electri...
You can also see some demo applications:
- Linear clone: https://linear-lite.electric-sql.com
- Realtime demo: https://electric-sql.com/docs/intro/multi-user
- Conflict-free offline: https://electric-sql.com/docs/intro/offline
The Electric team actually includes two of the inventors of CRDTs, Marc Shapiro and Nuno Preguiça, and a number of their collaborators who've pioneered a lot of tech underpinning local-first software. We are privileged to be building on their research and delighted to be surfacing so much work in a product you can now try out.
Project mention: JSON-joy CRDT benchmarks, 100x speed improvement over state-of-the-art | news.ycombinator.com | 2023-05-22Hey! Author of diamond types and the (linked) editing traces repository here. Would it be possible to make & share an editing trace or two from your application? Even a single user editing trace would be super helpful - like a big list of which objects were replaced by what values, in order.
I really want json based CRDTs to be fast, but one of the problems we have optimising this stuff is that there aren’t a lot of real world data traces around to use as baselines for benchmarking. I don’t know which parts of automerge are slow, and without that knowledge I can’t make them fast. If we have some data from your application, most upcoming json based CRDTs will almost certainly work well for your use case.
If you’re up for it, flick me an email or just open a PR on https://github.com/josephg/editing-traces
crdts related posts
-
Show HN: I created a Chrome extension to add realtime features to any website
-
How would I adjust this gradient animation?
-
Liveblocks vs Firebase?
-
Collaborative experiences in days, not months
-
Is a Multiplayer Game Possible with NextJS + Vercel?
-
Ask HN: Building a multiplayer, offline-capable app in 2022 (like Figma, Linear)
-
SQLite WASM Official
-
A note from our sponsor - SaaSHub
www.saashub.com | 6 May 2024
Index
What are some of the best open-source crdt projects? This list will help you:
Project | Stars | |
---|---|---|
1 | electric | 4,831 |
2 | partykit | 4,031 |
3 | automerge-swift | 202 |
4 | vaxine | 109 |
5 | rdoc | 91 |
6 | editing-traces | 38 |
7 | swarmbase | 16 |
Sponsored