All Projects → yorkie-team → yorkie-js-sdk

yorkie-team / yorkie-js-sdk

Licence: Apache-2.0 license
Yorkie JavaScript SDK

Programming Languages

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

Projects that are alternatives of or similar to yorkie-js-sdk

codepair
Real-time markdown editor for interviews, meetings & more...
Stars: ✭ 50 (-12.28%)
Mutual labels:  crdt, yorkie, yorkie-js-sdk
yorkie-rust-sdk
Yorkie Rust SDK
Stars: ✭ 13 (-77.19%)
Mutual labels:  crdt, realtime-collaboration, yorkie
gothic
🦇 Gothic is a user registration and authentication SWT/JWT microservice. It supports REST, gRPC, and gRPC Web API, reCAPTCHA & a variety of DBs with Gorm.
Stars: ✭ 65 (+14.04%)
Mutual labels:  grpc-web
rdoc
Conflict-free replicated JSON implementation in native Go
Stars: ✭ 76 (+33.33%)
Mutual labels:  crdt
CRDT-Redis
CRDTs implemented in Redis
Stars: ✭ 35 (-38.6%)
Mutual labels:  crdt
SyncedStore
SyncedStore CRDT is an easy-to-use library for building live, collaborative applications that sync automatically.
Stars: ✭ 1,053 (+1747.37%)
Mutual labels:  crdt
jylis
A distributed in-memory database for Conflict-free Replicated Data Types (CRDTs). 🌱 ↔️
Stars: ✭ 68 (+19.3%)
Mutual labels:  crdt
gcv
Federating genomes with love (and synteny derived from functional annotations)
Stars: ✭ 22 (-61.4%)
Mutual labels:  grpc-web
virtual-dom
Application framework for real time collaboration using Croquet
Stars: ✭ 14 (-75.44%)
Mutual labels:  realtime-collaboration
grpcweb-boilerplate
A minimal repo containing all the boilerplate for getting started with GopherJS using gRPC-Web
Stars: ✭ 45 (-21.05%)
Mutual labels:  grpc-web
Remote-Work-and-Study-Resources
Free services, tools, articles and other resources for remote workers and distance learners
Stars: ✭ 49 (-14.04%)
Mutual labels:  realtime-collaboration
adempiere-vue
ADempiere-Vue is a new UI for ADempiere ERP, CRM & SCM. It is based on Vue and uses the UI Toolkit element-ui. It is a great UI for ADempiere ERP, CRM & SCM, based on the newest development stack of Vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin…
Stars: ✭ 37 (-35.09%)
Mutual labels:  grpc-web
protobuf-ts
Protobuf and RPC for TypeScript
Stars: ✭ 527 (+824.56%)
Mutual labels:  grpc-web
me
CV at Github and Notes based on Issues
Stars: ✭ 70 (+22.81%)
Mutual labels:  yorkie
slate-operational-transform
Slate Operational Transform Demo (used in production at Narration Box)
Stars: ✭ 34 (-40.35%)
Mutual labels:  crdt
nice-grpc
A TypeScript gRPC library that is nice to you
Stars: ✭ 120 (+110.53%)
Mutual labels:  grpc-web
caracara
GEUT LABS. An experimental Dat based collaborative editor.
Stars: ✭ 33 (-42.11%)
Mutual labels:  crdt
grpc-express
gRPC express based web reverse proxy
Stars: ✭ 19 (-66.67%)
Mutual labels:  grpc-web
diamond-types
The world's fastest CRDT. WIP.
Stars: ✭ 654 (+1047.37%)
Mutual labels:  crdt
netty-queue
Simple queue: java, json-rest, netty
Stars: ✭ 21 (-63.16%)
Mutual labels:  crdt

Yorkie JavaScript SDK

codecov

The Yorkie JavaScript SDK implements the client-side libraries.

How to use JS SDK

To get started using Yorkie JavaScript SDK, see: https://yorkie.dev/docs/js-sdk

How yorkie-js-sdk works

yorkie-js-sdk uses gRPC-web for communicating with Yorkie Server built on gRPC.

 +--Browser--+           +--Envoy---------+         +--Yorkie-----+
 |           |           |                |         |             |
 | gRPC-web  <- HTTP1.1 -> gRPC-web proxy <- HTTP2 -> gRPC server |
 |           |           |                |         |             |
 +-----------+           +----------------+         +-------------+

For more details: https://grpc.io/blog/state-of-grpc-web/

Building and Testing the SDK

Building yorkie-js-sdk

For building yorkie-js-sdk, You'll first need Node.js installed(Node.js version 16+ and npm version 7.10+ are required).

# install packages
npm install

# build
npm run build

For generating proto messages and the service client stub classes with protoc and the protoc-gen-grpc-web.

How to install protoc-gen-grpc-web: https://github.com/grpc/grpc-web#code-generator-plugin

# generate proto messages and the service client stub classes
npm run build:proto

Primary "source of truth" location of protobuf message is in yorkie. We manage the messages in the repository.

Testing yorkie-js-sdk with Envoy, Yorkie and MongoDB.

Start MongoDB, Yorkie and Envoy proxy in a terminal session.

docker-compose -f docker/docker-compose.yml up --build -d

Start the test in another terminal session.

npm run test

Starting co-editing example with CodeMirror

Start MongoDB, Yorkie and Envoy proxy in a terminal session.

docker-compose -f docker/docker-compose.yml up --build -d

Start the webpack-dev-server in another terminal session.

npm run start

Open the co-editing example page served by webpack-dev-server in your browser.

open http://0.0.0.0:9000/

Contributing

See CONTRIBUTING for details on submitting patches and the contribution workflow.

Contributors

Thanks goes to these incredible people:

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