{"id":21620279,"url":"https://github.com/codehunt101/knight-bfs","last_synced_at":"2026-04-18T04:02:54.039Z","repository":{"id":104165170,"uuid":"454236214","full_name":"CodeHunt101/knight-BFS","owner":"CodeHunt101","description":"Coding challenge that randomly generates the starting and ending locations for the knight.  Users can manually click on the chess board to move the knight to the ending location, or use the help button so that it automatically moves the knight step by step until it reaches the ending location.  ","archived":false,"fork":false,"pushed_at":"2022-02-08T10:44:00.000Z","size":866,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-18T18:25:13.000Z","etag":null,"topics":["algorithms-and-data-structures","javascript","react","ruby","ruby-on-rails"],"latest_commit_sha":null,"homepage":"","language":"Ruby","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/CodeHunt101.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":"2022-02-01T02:18:18.000Z","updated_at":"2024-03-13T06:03:23.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff96c09b-2462-4b7b-b348-6a7f291d2543","html_url":"https://github.com/CodeHunt101/knight-BFS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CodeHunt101/knight-BFS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHunt101%2Fknight-BFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHunt101%2Fknight-BFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHunt101%2Fknight-BFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHunt101%2Fknight-BFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CodeHunt101","download_url":"https://codeload.github.com/CodeHunt101/knight-BFS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CodeHunt101%2Fknight-BFS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31955920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["algorithms-and-data-structures","javascript","react","ruby","ruby-on-rails"],"created_at":"2024-11-24T23:11:10.733Z","updated_at":"2026-04-18T04:02:54.024Z","avatar_url":"https://github.com/CodeHunt101.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Knight Chess Game coding challenge\n\n## Instructions\n\n1. Clone this repository.\n\n2. Please make sure you are using **Ruby 2.7.4**, otherwise go to *Gemfile* and change the ruby version to the one you currently have. Then please run:\n\n```\nbundle install\n```\n\n3. To install all the react dependencies, please run:\n```\nnpm install --prefix client\n```\n\n4. To call the server run:\n\n```\nrails server\n```\n\n5. Run the following to start the game in the browser:\n```\nnpm start --prefix client\n```\n\n## Structure (MVC)\n\n### Models \u0026 Controllers\nThe *Rails* server handles the entire logic of game from the **Game** model (*Game.rb*). The information is sent to the Client from  **Api::V1::GamesController** (*games_controller.rb*) as JSON. The manual play mode is handled from the client.\n\n### Views\nThe components structure is the following:\n\n```\nApp.js\n  |\n  |--\u003eGameControl.js\n          |\n          |--\u003eChessBoard.js\n                  |\n                  |--\u003eTile.js\n```\n\n*index.css* contains the stylings and layout\n\n## Recent major implementations\n- Help button calls a *Breadth First Search* algorithm to find the shortest path to the final target location.\n\n## Improvement Opportunities\n- Add a Rails backend for more features such as, data persistance, and user login.\n- Add more stylings and improve responsiveness.\n- Further code refactoring.\n- Add tests to minimise bug occurrences.\n\nThank you for your time!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodehunt101%2Fknight-bfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodehunt101%2Fknight-bfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodehunt101%2Fknight-bfs/lists"}