{"id":23042529,"url":"https://github.com/abhinav-ark/amrita_map","last_synced_at":"2025-07-18T11:05:18.115Z","repository":{"id":171096081,"uuid":"647441439","full_name":"Abhinav-ark/Amrita_map","owner":"Abhinav-ark","description":"Offline navigator Web App with directions and place Description.","archived":false,"fork":false,"pushed_at":"2025-01-31T18:43:00.000Z","size":29055,"stargazers_count":12,"open_issues_count":3,"forks_count":9,"subscribers_count":2,"default_branch":"with_navbar","last_synced_at":"2025-07-13T13:58:20.482Z","etag":null,"topics":["algorithms","css","data-structures","html","javascript","open-source","webapp"],"latest_commit_sha":null,"homepage":"https://abhinav-ark.github.io/Amrita_map/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Abhinav-ark.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-30T19:43:57.000Z","updated_at":"2025-06-29T13:21:12.000Z","dependencies_parsed_at":"2024-12-15T20:33:07.047Z","dependency_job_id":"086a13ef-e089-40b4-add0-ed620ac5a4d0","html_url":"https://github.com/Abhinav-ark/Amrita_map","commit_stats":null,"previous_names":["abhinav-ark/amrita_map"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/Abhinav-ark/Amrita_map","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhinav-ark%2FAmrita_map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhinav-ark%2FAmrita_map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhinav-ark%2FAmrita_map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhinav-ark%2FAmrita_map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Abhinav-ark","download_url":"https://codeload.github.com/Abhinav-ark/Amrita_map/tar.gz/refs/heads/with_navbar","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Abhinav-ark%2FAmrita_map/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265746404,"owners_count":23821645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithms","css","data-structures","html","javascript","open-source","webapp"],"created_at":"2024-12-15T20:33:01.566Z","updated_at":"2025-07-18T11:05:18.068Z","avatar_url":"https://github.com/Abhinav-ark.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\" style=\"display:flex; align-items: center; justify: center; text-decoration: none \"\u003e\n\u003c!-- \u003ca href=\"https://visitcount.itsvg.in\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg align='center' src=\"https://visitcount.itsvg.in/api?id=Amrita-map\u0026label=Total%20Views\u0026color=12\u0026icon=5\u0026pretty=false\"/\u003e\n\u003c/a\u003e --\u003e\n\n\u003ca href=\"https://github.com/Abhinav-ark/Amrita_map/actions/workflows/pages/pages-build-deployment\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg align='center' src=\"https://github.com/Abhinav-ark/Amrita_map/actions/workflows/pages/pages-build-deployment/badge.svg\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/Abhinav-ark/Amrita_map/blob/with_navbar/LICENSE\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg align='center' src=\"https://img.shields.io/badge/LICENSE-MIT-green\"/\u003e\n\u003c/a\u003e\n\u003ca href=\"https://github.com/Abhinav-ark/Amrita_map\" target=\"_blank\" rel=\"noreferrer\"\u003e\n  \u003cimg align='center' src=\"https://img.shields.io/github/created-at/Abhinav-ark/Amrita_map\"/\u003e\n\u003c/a\u003e  \n\u003c/div\u003e\n\n\n\n\u003ch1 align=\"center\"\u003e Offline Navigator Web App \u003c/h1\u003e\n\u003cimg align=\"center\" src=\"./Res/amrita_map.png\"/\u003e\n\n# Features\n- [x] Zoomable, Pannable and Rotatable Map  Based on Fabric.js\n- [x] On the way - Dynamic Places With Description and Model Detailed Description with Image Carousel\n- [x] Colour Code Based Path Marking \n -  `Yellow`: Completed\n -  `Orange`: Returned Back\n -  `Red`: Yet To Cover\n- [x] \u003cb\u003eToolbar:\u003c/b\u003e Map Refresh, Rotate 90°, Back To 100% Zoom and 0° Rot Buttons\n- [x] Dynamic Compass\n- [x] Dynamic Directions Based on current Compass direction and Map Rotation\n- [x] Destination Reached Alert Model\n- [x] Custom Animated Hamburger Menu and Navbar (In Progress)\n\n# Instructions \n\u003cimg align=\"center\" src=\"./Res/basic.png\"/\u003e\n\n- Select Start and destination points and tap on Go\n- You now get a navigation instructor and Places On the Way List View\n\n# Navigation\n\u003cimg align=\"center\" src=\"./Res/navigation.png\"/\u003e\n\n- The initial `Red` path on the map is the path to cover\n- Tap on the Next button for directions to the next place on the way (You get an `Yellow` path on the map to indicate Covered path)\n- Tap on the Back button if you accidentally pressed Next (You get an `Orange` path on the map to indicate Returned path)\n\n# Interacting with the Map\n\u003cimg align=\"center\" src=\"./Res/interact.png\"/\u003e\n\n- `Zoom` by using Two Fingers\n- `Rotate` by using 3 fingers\n- The Red Needle of the Compass always points towards north of the map\n- When you rotate the map, the direction arrow rotates automatically to adapt to the new changes.\n\u003e [!Note]\n\u003e Rotate Functionality is only supported in touch screen displays as of now, and not yet supported in laptop trackpads.\n\n## Map Toolbar\n\u003cdiv align=\"center\"\u003e\n\u003cimg align=\"center\" height=\"250px\" src=\"./Res/toolbar.png\"/\u003e\n\u003c/div\u003e\n\n# On Your Way\n\u003cdiv align=\"center\"\u003e\n\u003cimg align=\"center\" width=\"700px\" src=\"./Res/on_your_way.png\"/\u003e\n\u003c/div\u003e\n\n- Below the navigation instructor, you get a list view of places on the way from your current location to your destination.\n- Tap on any place to see the full description, images, timings, things to do and must-tries in that place.\n\n# End Navigation and New NavBar\n\u003cdiv align=\"center\"\u003e\n\u003cimg align=\"center\" width=\"700px\" src=\"./Res/exit_and_navbar.png\"/\u003e\n\u003c/div\u003e\n\n\u003cbr\u003e\n\u003cdiv align='center'\u003e\n\u003ca align='center' href=\"https://abhinav-ark.github.io/Amrita_map\" target=\"_blank\" rel=\"noreferrer\"\u003eTry App\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\n# Motivation Behind the Project\n When I moved to Amrita Vishwa Vidyapeetham University Campus in 2022 (After COVID Lockdown), I faced a lot of trouble not knowing routes to places, taking long routes and getting lost sometimes.\nThe existing Paper maps weren't very effective although they helped a little. Google maps didn't have all places and routes in the campus at that time. That is when I felt the need to make a navigator for the campus.\n\n One Year Later, I took up that idea for my Data Structures and Algorithms Course Project with my limited skillset at that point of time (`HTML`,`CSS` and `JS`)  and completed the current version of the prototype. I received permission from my university authorities to go ahead into expanding the project for the entire campus so i started working on designing our campus's map in `Autocad`.\n\n\u003cimg align=\"center\" src=\"./Res/map-min.webp\"/\u003e\n\n When I finished the design and was planning to start integrating the realworld measurements, location data and images into the graph, I was faced by a major challenge; Our expanding campus. Our University started rigorous construction activity in full fledge at a rapid pace, which continued to alter the entire landscape of our University Campus. That is when I realized the importance of modularity, and understood that, having a single image as the backbone of the terrain of Our University in my map was not a great Idea. Though I expected a few buildings to come up, and designed the map with the expected final aerial view of all the constructions in progress back then, I should have anticipated more buildings to come up.\n\n Unfortunately due to the inabilities in procuring the blueprint of the future campus, shortage of developers to maintain code, difficulties in attaching images and description of future buildings and uncertainity of finding volunteers to update the data regarding the Univerity Topography and Social Life in the future, I had to shelve this project in late 2023.\n\n# Open Source\nThis project is opensource now, meaning anybody is free to use any of the ideas or pieces of code in this project, fork the repository and make changes to this project, or come up with a completely different new product based on this project.\n\n\u003e [!Note]\n\u003e Any Individuals interested to work towards finishing this project are welcome to contact me @ `abhinavramki2@gmail.com` or `cb.en.u4cse21001@cb.students.amrita.edu`\n\n# Contributing\nRefer to The [Code of Conduct](https://github.com/Abhinav-ark/Amrita_map/blob/with_navbar/CODE_OF_CONDUCT.md) before making a pull request to the repository, posting on the discussions section or involing in any public activity related to this repository.\n\n# Improvement Ideas\n- The algorithm currently being used is `A* Search`. Instead `Floyd Warshall Algorithm` can be run once through the graph, every time a new node is inserted and all pair shortest paths stored in a data structure, so we don't need to compute the shortest path everytime on the client side.\n- `PWA`, Offline support with `Service workers` or offline `flutter` application.\n- Image Optimization and lazy loading.\n- [Zoomify](http://www.zoomify.com/) and [openSeaDragon](https://openseadragon.github.io/) Integration.\n\n# Licensing\nAll code in this repository is Licensed Under `MIT License`, and is freely available for anyone to use or make changes.\n\n# Security Policy\nRefer [SECURITY.md](https://github.com/Abhinav-ark/Amrita_map/blob/with_navbar/SECURITY.md) for Security Policy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhinav-ark%2Famrita_map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fabhinav-ark%2Famrita_map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fabhinav-ark%2Famrita_map/lists"}