kno20205 / indoor-wayfinder

Interactive SVG map with indoor wayfinding powered by React
https://pathpal-navigation.azurewebsites.net
11 stars 4 forks source link
dijkstra dijkstra-algorithm indoor-mapping indoor-maps indoor-navigation indoor-positioning navigation react wayfinding

Pathpal: Web-Based Indoor Wayfinder

Pathpal is an innovative web application designed to revolutionize indoor navigation. Using interactive maps and efficient pathfinding algorithms, it offers an intuitive solution for navigating complex indoor spaces.
Demo: Visit Pathpal

Table of Content:

About The App

This project is a variation of my diploma project, focusing on an interactive map for indoor wayfinding and navigation. It features an interactive SVG map and utilizes the Dijkstra algorithm to calculate the shortest path to points of interest (POIs). Originally, the application experimented with indoor positioning using BLE technology, but due to ithe experimental nature of the Bluetooth Web API, it has been omitted in this variation. Instead of a traditional database, this version uses a JSON server for development purposes.

Screenshots

Displaying Object Information on Click

Demonstration of Shortest Path Calculation

Features

Technologies

Pathpal is built with the latest web technologies for speed, efficiency, and adaptability:

Setup

Follow these steps to get the project up and running:

  1. Clone the Repository: Use your preferred Git client to clone this repository to your local machine.

  2. Install Node.js: This project requires Node.js. If you don't have Node.js version 21 installed, you can download and install it from nodejs.org.

  3. Install Dependencies: Navigate to the project directory in your terminal and run the following command to install the necessary dependencies:

    npm install
  4. Start the Application: Once the dependencies are installed, you can start the application by running the following command in your terminal:

    npm run dev
  5. Start the Server: In a separate terminal window, start the server by running:

    npm run server
  6. Run Both at The Same Time: If you want to start both the application and the server at the same time, you can run the following command:

    npm run dev:all

After running these commands, your default web browser should automatically open and navigate to localhost:5173, where you can see the running application. The server will be running on localhost:8080.

Status

Pathpal is currently a functional prototype. Future updates may include a map editor for enhanced customization.

Technical Insights

Map Technology

Pathfinding

Core Map Technology

Path Drawing and Wayfinding

Customizing the Map

IndoorMap Editing Example

Credits

This project was inspired by my diploma work and significantly influenced by the support of mentors, peers, and resources like maciejb2k's pathfinding app.

License

Pathpal is open-sourced under the MIT License. Contributions and feedback are welcome!