DimaTc / graph-traveler

Web app for visualization path-finding algorithms and maze generators. Built with React, Redux, and Material UI.

Home Page:https://graph-traveler.web.app/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

This app visualizes path finding algorithms and maze generators, deployed project here. (with firebase)

Performance issues may be present in larger screens

Capabilities

Maze generation


Can generate simple mazes both with animation enabled/disabled

Weights can be enabled/disabled before generation Generation

Path finding


Can find path from one point to any other point. Start/End position can be changed by selecting the current node and clicking on another target.

Dijkstra takes the weights into account (if there is no weights it will act like BFS )

Generation

Flexible controls


Speed (of the path finding) can be changed in the middle of the run and also wall can be added or removed at the middle of the run.

Adding/Removing walls in visited area will not the graph - meaning it can be broken

Local Installation

For development

clone and install the dependencies

git clone git@github.com:DimaTc/graph-traveler.git
npm i

then just start the development server by yarn start or npm start

Be advised, it is much slower when the app is in development mode.

Production build

Just open the index.html file in build and enjoy!

If any code is updated, you should yarn build or npm build first.

TODOs

  • Add A* finding algorithm
  • Add recursive maze generator

About

Web app for visualization path-finding algorithms and maze generators. Built with React, Redux, and Material UI.

https://graph-traveler.web.app/

License:GNU General Public License v3.0


Languages

Language:JavaScript 83.7%Language:HTML 9.7%Language:CSS 6.6%