{"id":16720860,"url":"https://github.com/yoavniran/web-chess","last_synced_at":"2025-03-15T12:16:49.503Z","repository":{"id":76012919,"uuid":"395330927","full_name":"yoavniran/web-chess","owner":"yoavniran","description":"This is a fun side project born of my relatively new passion for Chess","archived":false,"fork":false,"pushed_at":"2021-09-28T12:36:33.000Z","size":947,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-22T02:41:27.393Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/yoavniran.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-08-12T13:37:43.000Z","updated_at":"2021-09-28T12:36:36.000Z","dependencies_parsed_at":"2023-02-28T03:30:29.947Z","dependency_job_id":null,"html_url":"https://github.com/yoavniran/web-chess","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/yoavniran%2Fweb-chess","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavniran%2Fweb-chess/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavniran%2Fweb-chess/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yoavniran%2Fweb-chess/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yoavniran","download_url":"https://codeload.github.com/yoavniran/web-chess/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243725634,"owners_count":20337670,"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-12T22:27:02.808Z","updated_at":"2025-03-15T12:16:49.476Z","avatar_url":"https://github.com/yoavniran.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Web Chess\n\nThis is a fun side-project born of my recent new passion for Chess\nHere I will try to implement as many features (seen on sites like chess.com \u0026 lichess.org)\nfor the UI side of playing online chess.\n\n\u003e Backend is out of scope for now...\n\n\u003e combining client side engine is inspirational \n\nAn implementation of a playable chess board using web technologies: \n\n- React\n- Recoil JS\n- Styled Components\n- Framer Motion\n\n## Features\n\nSupports all rules of classical Chess:\n\n- only legal moves\n- castling\n- enpassant\n- 50 move count rule\n- pawn promotion (TBD)\n- move algebraic notation \n\n### Capabilities \n\n- Start from any legal FEN\n- Check(mate) identification \u0026 highlighting\n- legal moves identification \u0026 highlighting\n- take identification \u0026 highlighting\n- pinned piece (absolute) identification\n- Move history display\n\n## Roadmap\n\n### P1\n\n| Feature | Area | Status\n|-------- | -----| -----------\n| Flip Board | board |   ✅\n| Board Coordinates (inside, outside) | board |\n| All legal moves (castle, castling limitations, en passant, promotion) | moves | 🚧\n| Promotion Selector | ui, moves | \n| Stalemate detection | moves |\n| check \u0026 checkmate detection | moves | ✅\n| Check/mate Highlight | board |\n| Legal moves highlight | board | ✅\n| Last move highlight | board |\n| history board | game |  ✅\n| taken pieces bar | game | \n| Start from any FEN | state |  ✅\n| Output to FEN | state |\n\n\n### P2\n\n| Feature | Area | Status\n|-------- | -----| -----------\n| time travel (show moves backward, forward) | moves, game |\n| board themes | board | \n| sounds (move, check, invalid) | feedback |\n| Load PGN (lichess, chess.com) | state |\n| Output to PGN | state |\n| write own FEN parser | infra\n\n### P3\n\n| Feature | Area | Status\n|-------- | -----| -----------\n| toggle allowed moves highlighting | board | \n| toggle check/mate highlight | board |\n| Analysis mode (check moves without committing to history) | moves |\n| Game Clock (per side, bonus) | game |\n| Output to Image | extras |\n| History branches (maintain multiple history branches) | game | \n| Create game from custom position\n\n### P4\n\n| Feature | Area | Status\n|-------- | -----| -----------\n| use Engine! | game, engine | \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoavniran%2Fweb-chess","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyoavniran%2Fweb-chess","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyoavniran%2Fweb-chess/lists"}