{"id":25861972,"url":"https://github.com/rnike/astar-visualizer","last_synced_at":"2026-04-11T14:02:40.231Z","repository":{"id":115420708,"uuid":"506334189","full_name":"rnike/astar-visualizer","owner":"rnike","description":"A* pathfinding visualization web app made with React.","archived":false,"fork":false,"pushed_at":"2022-06-22T17:04:27.000Z","size":2380,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T23:46:17.519Z","etag":null,"topics":["astar","astar-pathfinding","heuristic-algorithm","heuristic-functions","maze-generator","maze-solver","mui","pathfinding","react","styled-components","typescript"],"latest_commit_sha":null,"homepage":"https://rnike.github.io/astar-visualizer","language":"TypeScript","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/rnike.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-06-22T16:57:29.000Z","updated_at":"2023-05-15T08:32:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"105f709a-aaf3-4434-8ab2-854f4eebbc82","html_url":"https://github.com/rnike/astar-visualizer","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rnike/astar-visualizer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnike%2Fastar-visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnike%2Fastar-visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnike%2Fastar-visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnike%2Fastar-visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rnike","download_url":"https://codeload.github.com/rnike/astar-visualizer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rnike%2Fastar-visualizer/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278322146,"owners_count":25967874,"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","status":"online","status_checked_at":"2025-10-04T02:00:05.491Z","response_time":63,"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":["astar","astar-pathfinding","heuristic-algorithm","heuristic-functions","maze-generator","maze-solver","mui","pathfinding","react","styled-components","typescript"],"created_at":"2025-03-01T23:46:25.891Z","updated_at":"2025-10-04T13:55:45.797Z","avatar_url":"https://github.com/rnike.png","language":"TypeScript","readme":"# A\\* Visualizer\n\nA\\* pathfinding visualization web app made with React.\n\n[DEMO](https://rnike.github.io/astar-visualizer)\n\n## How to use the app\n\n\u003cimg src=\"./src/assets/legend.png\" width=\"400\"\u003e\n\n### Simple usage\n\n1. Drag and move the start block and the end block around.\n2. Click on the start button to start finding the path.\n3. Paint on the grid to place or erase wall blocks.\n4. Click on the clear button to clear all walls or all paths\n5. Click on the heuristic button to open the heuristic editor. (See [Heuristic](#heuristic))\n\n\u003cimg src=\"./src/assets/usage.gif\" width=\"400\"\u003e\n\n## The algorithm\n\n### A\\*\n\nThis project has implemented the A\\* algorithm from the pseudocode described on Wikipedia, the pseudocode can be found at [src/algorithms/aStar.pseudo](src/algorithms/aStar.pseudo), and the TypeScript implementation can be found at [src/algorithms/aStar.ts](src/algorithms/aStar.ts).\n\n### Maze generation\n\nThis project uses the depth-first search algorithm with recursive implementation to generate a maze, which is described as blow:\n\n```\n1. Given a current cell as a parameter\n2. Mark the current cell as visited\n3. While the current cell has any unvisited neighbour cells\n    1. Choose one of the unvisited neighbours\n    2. Remove the wall between the current cell and the chosen cell\n    3. Invoke the routine recursively for a chosen cell\n```\n\nThe TypeScript(JavaScript) implementation can be found at [src/algorithms/mazeGenerate.ts](src/algorithms/mazeGenerate.ts)\n\n## Heuristic\n\n\u003cimg src=\"./src/assets/editor.gif\" width=\"400\"\u003e\n\nThis project provides a heuristic function editor, which is using JavaScript, by changing the return value of the function may help understand how heuristic affects the pathfinding algorithm.\n\n## Articles\n\n- [A\\* search algorithm](https://en.wikipedia.org/wiki/A*_search_algorithm) - Wikipedia\n- [Introduction to the A\\* Algorithm](https://www.redblobgames.com/pathfinding/a-star/introduction.html) - Red Blob Games\n- [Maze generate](https://en.wikipedia.org/wiki/Maze_generation_algorithm) - Wikipedia\n\n## Host locally\n\n```bash\n$ git clone https://github.com/rnike/astar-visualizer.git\n$ cd astar-visualizer\n$ yarn \u0026\u0026 yarn start\n```\n\n## Contributing\n\nThis project is intended for studying the A\\* algorithm, any kind of contributions are welcome, including forking this project, making pull requests, and reporting issues.\n\n## License\n\n- MIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnike%2Fastar-visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frnike%2Fastar-visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frnike%2Fastar-visualizer/lists"}