TrekCampus is an intra-campus navigation system designed to simplify campus navigation for students, faculty, and visitors. By providing real-time directions, point-to-point routes, and easy access to campus locations, TrekCampus enhances user experience and convenience within a campus environment.
- Interactive Map: Provides a detailed, interactive map of the campus.
- Point-to-Point Navigation: Calculates the optimal path between locations.
- Real-Time Updates: Updates routes based on campus conditions, events, or restricted areas.
- Location Search: Quickly search for buildings, facilities, and other points of interest on campus.
- Faculty Management: Supports adding and removing faculty members in various campus rooms, with dynamic list updates in campus files.
- Admin Interface: Allows administrators to modify campus and building navigation options and manage faculty room assignments.
To set up TrekCampus on your local system, follow these steps:
- Python 3.x
- Required Python packages
-
Clone the repository:
git clone https://github.com/yourusername/TrekCampus.git
-
Navigate into the project directory:
cd TrekCampus
-
Install any required dependencies:
pip install -r requirements.txt
-
Run the main navigation script:
python main.py
-
Use the interface to search for locations or get directions between points on campus.
-
Use the
faculty.py
functionalities to add or remove faculty members, and update their location data inedges.py
. -
Access the admin functions in
admin.py
to configure campus and building navigation and manage faculty room lists.
- Campus Graph (edges.py): This file defines the main campus routes (
edges_main
) and building-specific edges forAB3
(edges_AB3
) across different floors. Additionally, it containsfaculty_room
lists to hold faculty names for each room on different floors. This layout data is critical to navigation and building management functionalities. - Faculty Management (faculty.py): Manages a doubly linked list of faculty members and updates their room assignments in
edges.py
dynamically. - Admin Functions (admin.py): The central administration interface allows the addition and removal of edges for campus navigation, initialization and updating of faculty lists, and building-specific navigation configurations for different floors.
TrekCampus/
│
├── main.py # Entry point for the application
├── graph.py # Contains graph-based data for campus locations and routes
├── user.py # Handles user-related functionalities
├── faculty.py # Manages faculty lists and updates room assignments in edges.py
├── admin.py # Provides admin tools for campus/building navigation and faculty management
├── edges.py # Defines main campus routes, building routes, and faculty room data
├── README.md # Project documentation
The faculty.py
file includes the dlist
class, which provides the following functionalities for faculty management:
- Adding Faculty: Use
add_faculty(name, position, floor_index, room_choice)
to add a faculty member to a specific position in the doubly linked list. The room assignment inedges.py
will be updated based on thefloor_index
androom_choice
. - Removing Faculty: Use
remove_faculty(name, floor_index, room_choice)
to remove a faculty member from the list and update the room data inedges.py
. - Updating Faculty List: The
update_faculty_list(floor_index, room_choice)
method automatically updates room occupancy inedges.py
to reflect the current state of the faculty list.
The admin.py
file includes the following main functionalities:
- Campus and Building Navigation: Allows the admin to add, remove, and view edges in the campus navigation graph, as well as manage building-specific navigation for each floor.
- Faculty Management: Enables the admin to initialize faculty lists for each floor’s rooms, add or remove faculty members from specific rooms, and update the faculty data in
edges.py
accordingly.
- CB.EN.U4CSE22425 - N. Diyva
- CB.EN.U4CSE22430 - Priyadarshini Rajesh
- CB.EN.U4CSE22432 - A. Prahalyaa
- CB.EN.U4CSE22435 - Riya Rajesh
- CB.EN.U4CSE22460 - Samyuktha BM
- CB.EN.U4CSE22461 - B. Shanmuka Vardhan
We welcome contributions! If you have suggestions or improvements, please open a pull request or an issue.