Skip to content

A website for visualizing different search algorithms, with user generated maps and lots of configuration

Notifications You must be signed in to change notification settings

Spiderpig02/GalacticPathFinder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GalacticPathFinder

GalacticPathFinder is an interactive web application designed to visualize and understand the A* pathfinding and other pathfinding algorithms. It allows users to create grids, set start and end points, visualize the algorithm's step-by-step process, and experiment with different heuristics. This tool is ideal for students, educators, and anyone interested in algorithm visualization and AI pathfinding techniques. It is made with Django backend and React Typescript frontend.

Features:

  • Create Grids/Graphs: Users can generate grids or graphs on which the A* algorithm operates.
  • Set Start and End Points: Flexibility to define start and end points to visualize pathfinding.
  • Visualize Algorithm: Step-by-step visualization of the A* algorithm in action.
  • Customize Heuristics: Experiment with different heuristics to see how they influence the pathfinding process.
  • Web Deployment: Accessible on the World Wide Web for widespread use and demonstration.

Setup

Prerequisites

Clone repository

Clone the repository to your local machine:

git clone https://github.com/Spiderpig02/GalacticPathFinder.git

Frontend

To setup the frontend one must install all the dependencies:

cd frontend
npm install

Backend

To setup the backends one must install all the dependencies:

cd backend

Virtual Environment (Recommended)

🚀 A better way to set up repositories

A virtual environment in Python is a self-contained directory that contains a Python installation for a particular version of Python, plus a number of additional packages. Using a virtual environment for your project ensures that the project's dependencies are isolated from the system-wide Python and other Python projects. This is especially useful when working on multiple projects with differing dependencies, as it prevents potential conflicts between packages and allows for easy management of requirements.

  1. To set up and use a virtual environment for GalacticPathFinder: First, install the virtualenv package using pip. This tool helps create isolated Python environments.

    pip install virtualenv
  2. Create virtual environment Next, create a new virtual environment in the project directory. This environment is a directory containing a complete Python environment (interpreter and other necessary files).

    python -m venv venv
  3. Activate virtual environment To activate the environment, run the following command:

    • For windows:

      source ./venv/Scripts/activate
    • For Linux / MacOS:

      source venv/bin/activate

Install dependencies

With the virtual environment activated, install the project dependencies:

pip install -r requirements.txt

The requirements.txt file contains a list of packages necessary to run GalacticPathFinder. Installing them in an activated virtual environment ensures they are available to the project without affecting other Python projects or system settings.

Usage

Frontend

cd frontend
npm run dev

Backend

cd backend
python manage.py runserver

Contributors

Daniel Neukirch Hansen
Daniel Neukirch Hansen
Jens Martin Norheim Berget
Jens Martin Norheim Berget

Sverre Nystad

About

A website for visualizing different search algorithms, with user generated maps and lots of configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •