All Projects → Progyan1997 → Operational-Transformation

Progyan1997 / Operational-Transformation

Licence: MIT license
A collection of Algorithms to Synchronise changes across multiple clients using Operational Transformation

Programming Languages

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

Projects that are alternatives of or similar to Operational-Transformation

coeditor
Yet Another Pair Programming Package for Atom.
Stars: ✭ 27 (+8%)
Mutual labels:  operational-transformation, collaborative-editing
slate-operational-transform
Slate Operational Transform Demo (used in production at Narration Box)
Stars: ✭ 34 (+36%)
Mutual labels:  operational-transformation, collaborative-editing
editor.sh
Yet another live programming environment for collaborative code editing and running.
Stars: ✭ 29 (+16%)
Mutual labels:  monaco-editor, collaborative-editing
collaborative-editor
A collaborative editor that supports authorship display, image uploading placeholder and CJK characters composition based on Quill and ShareDB.
Stars: ✭ 78 (+212%)
Mutual labels:  operational-transformation, collaborative-editing
V2releases
A friendly ARM assembler and simulator for educational use
Stars: ✭ 46 (+84%)
Mutual labels:  monaco-editor
rdocsyntax
Syntax highlighting for R HTML documentation
Stars: ✭ 20 (-20%)
Mutual labels:  ace-editor
Nebuchadnezzar
High Performance Key-Value Store
Stars: ✭ 49 (+96%)
Mutual labels:  distributed-database
fabrica-collaborative-editing
Plugin to make WordPress more Wiki-like by allowing more than one person to edit the same Post, Page, or Custom Post Type at the same time. When there are conflicting edits, it helps users to view, compare, and merge changes before saving.
Stars: ✭ 19 (-24%)
Mutual labels:  collaborative-editing
the-apache-ignite-book
All code samples, scripts and more in-depth examples for The Apache Ignite Book. Include Apache Ignite 2.6 or above
Stars: ✭ 65 (+160%)
Mutual labels:  distributed-database
mesh-code-editor
✒️ A sleek, real-time & collaborative online code editor for HTML, CSS, and JavaScript
Stars: ✭ 26 (+4%)
Mutual labels:  collaborative-editing
ZSpider
基于Electron爬虫程序
Stars: ✭ 37 (+48%)
Mutual labels:  monaco-editor
CodeCheck
✔️Implementation of Hackerrrank using django
Stars: ✭ 26 (+4%)
Mutual labels:  ace-editor
greycat
GreyCat - Data Analytics, Temporal data, What-if, Live machine learning
Stars: ✭ 104 (+316%)
Mutual labels:  distributed-database
tableaunoir
An online blackboard 🖉 with fridge magnets 🌈🧲 for teaching, and making animations 🏃 and presentations ⎚.
Stars: ✭ 149 (+496%)
Mutual labels:  collaborative-editing
nebula-graph
A distributed, fast open-source graph database featuring horizontal scalability and high availability. This is an archived repo for v2.5 only, from 2.6.0 +, NebulaGraph switched back to https://github.com/vesoft-inc/nebula
Stars: ✭ 833 (+3232%)
Mutual labels:  distributed-database
monaco-editor-custom-intellisense
Code from the "Custom IntelliSense with Monaco Editor" post
Stars: ✭ 23 (-8%)
Mutual labels:  monaco-editor
live-editor
Real-time collaboration editing service with integrated editor component.
Stars: ✭ 35 (+40%)
Mutual labels:  collaborative-editing
fongshen-editor
A highly customizable code-inserting editor for markdown or other languages
Stars: ✭ 35 (+40%)
Mutual labels:  ace-editor
docs
Source code of the ArangoDB online documentation
Stars: ✭ 18 (-28%)
Mutual labels:  distributed-database
mongood
A MongoDB GUI with Fluent Design
Stars: ✭ 674 (+2596%)
Mutual labels:  monaco-editor

Operational Transformation

@otjs


Build Tests Deployment Code Quality Code Coverage

Version Built With Tested With Typed With Styled With License Open Issues Closed Issues Open Pulls Closed Pulls Contributors Activity

Description

Collection of Operation Transformation Algorithms and their respective clients to integrate with any existing system.

Package Version Downloads Third-party Dependency
ace
firebase-ace
firebase-monaco
firebase-plaintext
monaco
plaintext -
plaintext-editor -
state-machine -
types - - -
utils - - -

Installation

This repository uses monorepo architecture for hosting packages. We are using Lerna to manage workspaces and publishing of individual packages, where as Yarn is used as package manager to symlink and install 3rd Party Dependencies.

  • To install using Lerna (recommended):

    $ lerna bootstrap
  • To install using Yarn:

    $ yarn

Testing

We are using Jest extensively to form our Unit Test Suite as well as Integration Test Suites, along with test environment, stubs and test runner. Nyc (formerly known as Istanbul) is used for coverage reporting.

  • To run all the unit test suites in local dev environment, run the following after dependencies have been installed:

    $ yarn test
  • To run unit tests in CI environment, run:

    $ yarn test:ci
  • To run integration tests in CI environment, run:

    $ yarn test:firebase
    $ yarn test:monaco
  • To merge all the individual code coverage report and generate final test coverage report, run:

    $ yarn coverage
  • To convert generated final coverage report into more human readable form (such as lcov), run:

    $ yarn coverage:dev

Integration Tests

This package only provides a functional layer on top of your existing dependencies and does not ship any additional bundle. To make sure our implementation and integrations are up-to-date, we have a comprehensive set of Integration Test Suite living in tests directory.

Editor Integration

Most of the popular editors and IDEs have extensions to help with Code Coverage details. These tools often read lcov reports and not json format. So one must convert them into lcov using last command described above to make it work with the editor of their choice.

Metrics and Tracking

We are using codecov.io to track progress over Code Coverage and CodeQL for Code Quality Analysis.

Reporting a Bug

Head on to Discussion section to report a bug or to ask for any feature. Use this template to make it structural and helpful for the maintainer and the contributors. Feel to add your queries about using this library as well under Q & A section of it. Remember, do not create any Issues by yourself, maintainers of this repository will open one if deemed necessary.

Changelog

See CHANGELOG for more details.

Contributing

See Contributing Guidelines.

License

This project is licensed under the terms of the MIT license, see LICENSE for more details.

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