Navit is an indoor mapping solution made for University campuses. (currently, more than proof of concept but a little less than completed)
![](./assets/images/expressjs-logo.png)
![](./assets/images/vercel-logo.png)
- Backend ( Server ) -
/backend
npm install
npm start
( starts the server ) - Frontend - Open
frontend/index.html
( home page ) or Navit
- Started with a problem in mind and the problem unvealed and changes the significant app fundamental approches to solve the problem and new approches were used.
- Route Management - Add routes using GeoJSON and calculate the shortest path using Dijkstra's algorithm and appropriate data structures.
- Dynamic Floor Polylines - Create an array of floors to show the polylines floor-wise. Each array element will contain coordinates for that specific floor to create the polyline accordingly.
(Floor numbering: 0 for ground floor, 1 for first floor and 6 for underground). - Implement basic functionality for routing.
- Data Structture design and Implementation
- Complete UI Design and improvements.
- Complete Map were Designed in GeoJSON and later improvements were made.
- Complete Routes were Designed in GeoJSON and later improvements were made.
- Utilize the Leaflet library to draw routes on the map with polylines, dynamically using coordinates as an array of strings input.
- Fetch Requests - Move all fetch requests to
server.js
for privacy and security. - Basic API Design and Implementation.
- Automate direction finding and identify idle classrooms and labs by storing timetables in the database (Possible API integration with class-sync).
- Floor numbering changed for ease: 0 for underground floor, 1 for ground floor and so on. 🟢
- Dynamic Centering - setting dynamic center by using cookies to add coordinates to center. Use the last coordinate to determine the center.
- Database Integration - Introduce a database to store custom maps and routes.
- Authentication and Security - Implement authentication for students to verify users.
- Possibly restrict mapping functionalities to within the campus IP or network for safety concerns.