Giter Club home page Giter Club logo

orda-js's Introduction

🐎🎪 Orda-js


Orda-js is the Javascript(or Typescript) SDK for Orda project. Orda project is a multi-device data synchronization platform based on MongoDB (which could be other document databases such as CouchBase). Orda is based on CRDT(conflict-free data types), which enables operation-based synchronization.

In this repository, we present the Orda Server, and introduce the concept of the Orda project.

The library size of orda-js is just about 298KB. It works not only in browsers, but also with nodejs.

One of the example implemented with orda-js. Orda-JSONEditor is a sample program.

Install

To use Orda-js in your development, you can use npm.

$ npm i @orda-io/orda

Development

To develop the orda-js sdk, Orda Server needs to be up and running in advance. Following the instructions, you can run the Orda Server.

$ git clone https://github.com/orda-io/orda.git
$ npm run gen:openapi  
$ npm run gen:proto-enum 

You can build orda-js as follows.

$ npm build:dev
$ npm build:prod

Orda-js can be tested with either karma or mocha.

$ npm run test # test with karma 
$ npm run test:mocha # test with mocha 

Contribute to Orda Project


We always welcome your participation.

License


Orda-js is licensed under Apache 2.0 License that can be found in the LICENSE file.

orda-js's People

Contributors

dependabot[bot] avatar knowhunger avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

morankim2

orda-js's Issues

✨ feat: publish to npm

What to do?


describe briefly what feature you would like to add

Publish orda-js to npm

Details


describe briefly why you would like to add

Checklists

  • Did you assign project?

✨ feat: add clientHandler

What to do?


describe briefly what feature you would like to add

Add clientHandlers to handle client events.

Details


describe briefly why you would like to add

Checklists

  • Did you assign project?

✨ feat: expose orda datatypes.

What to do?


describe briefly what feature you would like to add

currently orda datatypes are not exposed yet.

Details


describe briefly why you would like to add

added prefix to the names of orda datatypes.

Checklists

  • Did you assign project?

✨ feat: add example with orda-js

What to do?


describe briefly what feature you would like to add

add example using orda-js

Why this needs?


describe briefly why you would like to add

To show how to orda works

Checklists

  • Did you add labels?
  • Did you assign project?
  • Did you assign milestone?

✨ feat: update README.md

What to do?


describe briefly what feature you would like to add

update README.me

Details


describe briefly why you would like to add

update README.md and change some package scripts

✨ feat: separate integer type as orda-integer

What to do?


describe briefly what feature you would like to add

separate integer type as orda-integer

Why this needs?


describe briefly why you would like to add

integer type can used for other project

Checklists

  • Did you add labels?
  • Did you assign project?
  • Did you assign milestone?

✨ feat: separate orda-logger

What to do?


describe briefly what feature you would like to add

Separate orda-logger as dependency

Why this needs?


describe briefly why you would like to add

orda-logger is separated as independent project.

Checklists

  • Did you add labels?
  • Did you assign project?
  • Did you assign milestone?

✨ feat: support JSONPatch operations

What to do?


describe briefly what feature you would like to add

Details


describe briefly why you would like to add

  • support "add", "remove", "replace"

Checklists

  • Did you assign project?

✨ feat: change name from ortoo to orda

What to do?


describe briefly what feature you would like to add

Change the project name from ortoo to orda

Why this needs?


describe briefly why you would like to add

Checklists

  • Did you add labels?
  • Did you assign project?
  • Did you assign milestone?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.