{"id":17931107,"url":"https://github.com/rdner/crdt","last_synced_at":"2025-04-03T10:25:29.552Z","repository":{"id":119127235,"uuid":"389695424","full_name":"rdner/crdt","owner":"rdner","description":"CRDT LWW Set and Directional graph implementations made for educational purposes.","archived":false,"fork":false,"pushed_at":"2021-12-12T18:06:42.000Z","size":23,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-08T23:46:05.284Z","etag":null,"topics":["crdt","graph"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rdner.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-26T16:15:45.000Z","updated_at":"2021-12-12T18:06:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"3e4412a2-91e9-4d12-94c6-eededa2b816d","html_url":"https://github.com/rdner/crdt","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/rdner%2Fcrdt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdner%2Fcrdt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdner%2Fcrdt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rdner%2Fcrdt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rdner","download_url":"https://codeload.github.com/rdner/crdt/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246982835,"owners_count":20864166,"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":["crdt","graph"],"created_at":"2024-10-28T21:19:41.967Z","updated_at":"2025-04-03T10:25:29.520Z","avatar_url":"https://github.com/rdner.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Last-Writer-Wins State-based Directional Graph\n\n## Introduction\n\n[Conflict-Free Replicated Data Types](https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type) (CRDTs) are data structures that power real-time collaborative applications in distributed systems. CRDTs can be replicated across systems, they can be updated independently and concurrently without coordination between the replicas, and it is always mathematically possible to resolve inconsistencies that might result.\n\n## Reading\n\n* https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type\n* https://github.com/pfrazee/crdt_notes\n* https://hal.inria.fr/inria-00555588/PDF/techreport.pdf\n\n## Implementation\n\nThis is a state-based LWW-Element-Graph implementation with test cases.\nThis includes implementation of a LWW-Element-Set which is composed into the graph for storing vertices and edges.\n\nThe graph contains functionalities to:\n* add a vertex/edge\n* remove a vertex/edge,\n* check if a vertex is in the graph,\n* query for all vertices connected to a vertex,\n* find any path between two vertices,\n* merge with concurrent changes from other graph/replica.\n\n## Running tests\n\nYou need to have docker installed in order to run the tests.\n\nUse `make test` command to run the tests.\n\n## Author\n\nMIT License\n\n[Denis Rechkunov](https://rdner.de) denis@rdner.de\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdner%2Fcrdt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frdner%2Fcrdt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frdner%2Fcrdt/lists"}