Skip to content

A backend-driven University Campus Navigation System that handles data management and experiencefficient pathfinding logic. The system focuses on implementing optimized algorithms for route calculation, ensuring accurate and fast navigation results. It manages location data, processes queries, to support a seamless frontend e

Notifications You must be signed in to change notification settings

1of1jey/GP_ugnav

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 

Repository files navigation

UG Campus Navigation System 📌 Project Overview

This project is a Java-based navigation system designed to help users find routes within the University of Ghana (UG) campus. It models campus roads and buildings as a graph and applies graph algorithms (such as Dijkstra’s algorithm and A* search) to compute the shortest or most optimal paths between locations.

The system provides a simple interface where users can:

Select a starting point and a destination on campus.

View the calculated route with distance or estimated travel time.

Explore alternative routes (where applicable).

⚙️ Features

Graph-based Campus Map: Campus is represented as nodes (buildings, landmarks) and edges (paths, roads).

Shortest Path Algorithms:

Dijkstra’s Algorithm → Finds the shortest path by distance.

A* Search → Provides efficient route finding using heuristics.

Custom Weights: Supports different weight modes such as:

Distance (meters)

Estimated time (minutes)

Extensible Design: New locations or roads can be added easily to the graph data.

🚀 How It Works

The Graph class loads all campus locations and roads.

The user enters a start and end point.

An algorithm (Dijkstra or A*) is run to compute the shortest path.

The result is returned as a Route object containing:

Ordered list of nodes to follow

Total distance / estimated time

The UI displays the recommended path.

▶️ Running the Project Prerequisites

Java 11+

Maven or Gradle (for build)

Steps

Clone the repository:

git clone https://github.com/your-username/ug-campus-navigation.git cd ug-campus-navigation

Compile the project:

mvn clean install

Run the application:

java -cp target/ug-campus-navigation.jar ui.Main

đź§Ş Example Usage

Input:

Start: Balme Library Destination: Legon Hall Algorithm: Dijkstra

Output:

Shortest Path Found: Balme Library → Central Cafeteria → Legon Hall Distance: 1.2 km Estimated Time: 15 minutes

đź“– Algorithms Used

Dijkstra’s Algorithm: Guarantees the shortest path by exploring nodes in order of minimum distance.

A* Search: Uses heuristics (like straight-line distance) to speed up pathfinding while still producing an optimal solution.

🌍 Future Enhancements

GUI integration with JavaFX for map visualization.

Real-time traffic or congestion data.

GPS support for mobile devices.

Multi-criteria optimization (e.g., fastest vs. safest route).

👨‍💻 Authors

Jeffrey Eshun

About

A backend-driven University Campus Navigation System that handles data management and experiencefficient pathfinding logic. The system focuses on implementing optimized algorithms for route calculation, ensuring accurate and fast navigation results. It manages location data, processes queries, to support a seamless frontend e

Resources

Stars

Watchers

Forks

Languages