Skip to content

Campus-Navigation-System - A digital solution to find the optimal path in a campus

License

Notifications You must be signed in to change notification settings

ADKA2006/Campus-Navigation-System-CNS

Repository files navigation

Campus Navigation System

All Contributors MIT License

"Finding your way around a big campus can be tough, right? Well, here's our solution!"

📘 Introduction

Our Campus Navigation System (CNS) is designed to simplify navigation in large campuses (Here we are demostrting using our campus as a base). By combining dynamic graph structures, efficient pathfinding algorithms(Dijkstra algorithm), and an interactive UI, our solution helps students, faculty, and visitors find their way in the campus easily.

✨ Key Features

  • Graph-Based Modeling: Buildings are nodes, and pathways are edges.
  • Shortest Path Algorithm: Utilizes Dijkstra's Algorithm for optimal route calculation.
  • Dynamic Graph Updates: Real-time addition or removal of buildings and pathways can be done by the admin.
  • Interactive UI: Developed using SWING for a seamless experience.
  • Future Enhancements: Plans for GPS integration, AI-based route optimization, better web interface using FLASK and REACT and a mobile app using Flutter.

🛠️ Installation

Follow these steps to get the CNS up and running:

🌐 Clone using HTTPS (for general users)
git clone https://github.com/ADKA2006/Campus-Navigation-System-CNS.git
cd Campus-Navigation-System-CNS/Campus-Navigation-System/Codes
🔐 Clone using SSH (for contributors)
git clone git@github.com:ADKA2006/Campus-Navigation-System-CNS.git
cd Campus-Navigation-System-CNS/Campus-Navigation-System/Codes

🗂️ Project Structure

MVC design pattern has been followed while coding and is given as follows

|-- CampusNavigation
|   |-- CampusApp.java          # Main entry point for the application
|   |   |-- controller
|   |       |-- InputModule.java    # Handles user input processing
|   |       |-- RouteFinder.java    # Logic to compute optimal routes
|   |       |-- SearchPanel.java    # Search functionality for buildings
|   |   |-- model
|   |       |-- CampusTree.java     # Tree-based structure to manage campus layout
|   |       |-- TreeNode.java       # Data structure for tree nodes
|   |   |-- view
|   |       |-- CampusGUI.java      # Main graphical user interface
|   |       |-- GPSModule.java      # Module for GPS tracking (to be implemented)
|   |       |-- MapAreaModule.java  # Manages different map areas
|   |       |-- MapPanel.java       # Panel for displaying the campus map
|   |-- resources
|   |   |-- amrita_map.png                  # Base map image
|   |   |-- map_with_coordinates.png        # Map with coordinates overlay
|   |-- lib
|   |   |-- flatlaf-3.5.3.jar               # FlatLaf library for UI styling
|-- README.md

▶️ Usage

  1. Search for Locations: Enter your starting and ending points to view the shortest path.
  2. View Dynamic Changes: The system can dynamically adapt to newly added or removed buildings.
  3. Interactive Map: The visual interface allows you to explore campus layouts efficiently.

🚀 Future Plans

GPS Integration — Real-time location updates.
AI-Based Route Optimization — Intelligent path adjustments based on congestion.
Better web interface using FLASK and REACT.
Mobile App Development — Future migration to Flutter for improved accessibility.

🌟 Sreenshot of UI

UI preview

⚖️ License

This project is licensed under the MIT License. See the LICENSE file for more information.

Contributors

Advaith Krishna
Advaith Krishna

💻 📖 🎨 🤔
Jashu1935
Jashu1935

💻 📖 🎨 🤔
Ranjith-7777
Ranjith-7777

💻 📖 🎨 🤔

This project follows the all-contributors specification.

We look forward to enhancing campus navigation with this efficient and user-friendly solution. Feel free to contribute and share your feedback!

About

Campus-Navigation-System - A digital solution to find the optimal path in a campus

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages