{"id":18016954,"url":"https://github.com/fitzgen/operational-transformation-example","last_synced_at":"2025-03-26T19:33:48.547Z","repository":{"id":1417429,"uuid":"1509230","full_name":"fitzgen/operational-transformation-example","owner":"fitzgen","description":"Example app using Operational Transformation","archived":false,"fork":false,"pushed_at":"2013-10-07T21:13:36.000Z","size":206,"stargazers_count":52,"open_issues_count":1,"forks_count":19,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-17T11:59:42.759Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"projectpokemon/Pokemon-Black-White-Story-Translation-Files","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fitzgen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-03-22T00:13:25.000Z","updated_at":"2024-12-03T16:13:03.000Z","dependencies_parsed_at":"2022-07-07T12:01:22.539Z","dependency_job_id":null,"html_url":"https://github.com/fitzgen/operational-transformation-example","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fitzgen%2Foperational-transformation-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fitzgen%2Foperational-transformation-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fitzgen%2Foperational-transformation-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fitzgen%2Foperational-transformation-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fitzgen","download_url":"https://codeload.github.com/fitzgen/operational-transformation-example/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245722796,"owners_count":20661827,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T04:19:46.113Z","updated_at":"2025-03-26T19:33:48.222Z","avatar_url":"https://github.com/fitzgen.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Operational Transformation Example\n\nThis is an implementation of a real time collaborative document editor which\nuses my [Operational Transformation library][ot-lib].\n\n[ot-lib]: https://github.com/fitzgen/operational-transformation\n\nWorks with Node 0.4.X.\n\n## Installing and Running\n\n    $ git clone https://github.com/fitzgen/operational-transformation-example.git\n    $ cd operational-transformation-example/\n    $ ./util/setup.sh\n    $ cd src/\n    $ node r.js server.js\n    25 Apr 21:56:13 - Your node instance does not have root privileges. This means that the flash XML policy file will be served inline instead of on port 843. This will slow down initial connections slightly.\n    25 Apr 21:56:13 - socket.io ready - accepting connections\n    Listening on port 8080\n\nNow just open a couple tabs in your browser and point them to\nhttp://127.0.0.1:8080/ and you can create and collaboratively edit a plain text\ndocument between the tabs. *(At the time of this writing, April 25th 2011, you\nhave to use firebug or some other web inspector to find out what the document ID\nis so that your second tab can join the first's session).*\n\n## Utility Scripts\n\n * `./util/setup.sh`\n\n   Run this to set up a fresh dev environment after you have cloned this\n   repository. Pulls down dependencies, runs the RequireJS converter script on\n   third party modules, etc.\n\n * `./util/clean.sh`\n\n   Reset the environment as if it were a fresh clone of the repo. Will need to\n   call `./util/setup.sh` once more to start developing again.\n\n * `./util/build.sh`\n\n   Will eventually create optimized builds of the client javascript. I haven't\n   gotten around to this yet though; it has been a low priority.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffitzgen%2Foperational-transformation-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffitzgen%2Foperational-transformation-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffitzgen%2Foperational-transformation-example/lists"}