{"id":13551785,"url":"https://github.com/pheyvaer/solid-chess","last_synced_at":"2025-04-11T22:44:16.279Z","repository":{"id":57365856,"uuid":"154842018","full_name":"pheyvaer/solid-chess","owner":"pheyvaer","description":"A decentralized chess app build on top of Solid.","archived":false,"fork":false,"pushed_at":"2019-03-24T13:58:42.000Z","size":4087,"stargazers_count":53,"open_issues_count":22,"forks_count":12,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-04-11T22:44:10.928Z","etag":null,"topics":["chess","game","proofofconcept","solid-app"],"latest_commit_sha":null,"homepage":"https://pheyvaer.github.io/solid-chess/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pheyvaer.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-10-26T13:51:12.000Z","updated_at":"2025-02-19T06:00:25.000Z","dependencies_parsed_at":"2022-08-23T20:10:29.738Z","dependency_job_id":null,"html_url":"https://github.com/pheyvaer/solid-chess","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pheyvaer%2Fsolid-chess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pheyvaer%2Fsolid-chess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pheyvaer%2Fsolid-chess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pheyvaer%2Fsolid-chess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pheyvaer","download_url":"https://codeload.github.com/pheyvaer/solid-chess/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492968,"owners_count":21113159,"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":["chess","game","proofofconcept","solid-app"],"created_at":"2024-08-01T12:01:53.691Z","updated_at":"2025-04-11T22:44:16.251Z","avatar_url":"https://github.com/pheyvaer.png","language":"HTML","funding_links":[],"categories":["HTML","Uncategorized","game"],"sub_categories":["Uncategorized"],"readme":"# Solid Chess\n\nThis is a decentralized Chess game, build on top of [Solid](https://solid.inrupt.com/).\nNo central sever is required to run or set up a game.\nAll personal data about the game is stored on your POD.\nRequests to join a game are sent to the inbox of your opponent directly.\nYou have two types of games: a non-real-time and a real-time game.\nWith a non-real-time game all updates are sent to the inbox of your opponent,\nwho can interact with it when (s)he wants.\nWith a real-time game [WebRTC](https://webrtc.org) is used to allow for a direct communication between two instances of the Web app.\n\nThe game is available in the [browser](#browser) and [terminal](#cli).\nCheck the [live version](https://pheyvaer.github.io/solid-chess/) or one of the following screencasts:\n\n- [non-real-time game via Web app](https://streamable.com/u5c4q)\n- [real-time game via Web app](https://streamable.com/j951d)\n- [non-real-time game via CLI](https://streamable.com/x7fo0)\n\nWARNING: The \"Clear inbox\" button **removes all files with (chess) game data** in your inbox! So be careful!\n\n## Documentation\n\n- Code documentation can be found [here](https://pheyvaer.github.io/solid-chess/docs/).\n- If you want to know more about how the application interacts with different Solid PODs, you can read [this](./interaction-with-pods.md).\n\n## What you can do\n- Create a new game, which will send a request to join to your opponent.\n- Join a game, which will send a response back to your opponent.\n- Continue a game you started earlier.\n\n## Used technologies/concepts/libraries\n- [Linked Data](https://en.wikipedia.org/wiki/Linked_data): to represent/share the details of the games\n- [Decentralization](https://en.wikipedia.org/wiki/Decentralization#Information_technology): information is fetched from different servers\n- [Solid PODs](https://solid.inrupt.com/get-a-solid-pod): store personal data about the games\n- [LDflex for Solid](https://github.com/solid/query-ldflex): simple access to data in Solid pods through LDflex expressions\n- [SPARQL](https://www.w3.org/TR/2013/REC-sparql11-overview-20130321/): query/update games\n- [RDF](https://www.w3.org/TR/rdf11-concepts/): representation of the data\n- [Comunica](https://github.com/comunica/): querying different data sources\n- [chess.js](https://github.com/jhlywa/chess.js): chess engine\n- [chessboard.js](https://github.com/oakmac/chessboardjs/): chessboard\n\n## Install\n\n### Web app\n\nYou can run the game locally by doing the following:\n- Clone this repo.\n- `npm i`: install Node.js dependencies.\n- `npm run build:web`: bundle the JavaScript via Webpack. \nThe result can be found in `web-app/dist/main.js`.\n- Serve the contents of the root folder, e.g., via `http-server`.\n\n### CLI\n\n- `npm i solid-chess -g`: install the game.\n- `solid-chess`:launch the game.\n\n## Credits\n\n- [Freevector Chess Pieces Set](https://www.freevector.com/chess-pieces-set) ([CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/), no changes were made)\n- [Font Awesome chess-rook icon](https://fontawesome.com/icons/chess-rook) ([CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), no changes were made)\n\n## License\n© 2018 [Pieter Heyvaert](https://pieterheyvaert.com), [MIT License](https://github.com/pheyvaer/solid-chess/blob/master/LICENSE.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpheyvaer%2Fsolid-chess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpheyvaer%2Fsolid-chess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpheyvaer%2Fsolid-chess/lists"}