{"id":16013133,"url":"https://github.com/ifera/pathmapper","last_synced_at":"2025-04-09T22:03:28.141Z","repository":{"id":133566674,"uuid":"387824105","full_name":"Ifera/PathMapper","owner":"Ifera","description":"A data structures project utilizing Dijkistra algorithm and AdjacencyList to find the shortest path between two nodes.","archived":false,"fork":false,"pushed_at":"2021-07-20T17:58:26.000Z","size":1303,"stargazers_count":3,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T22:03:17.801Z","etag":null,"topics":["adjacency-list","cpp","datastructures","dijkistra-algorithm","eme","nust","opensource","path-mapping","shortest-path-algorithm"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ifera.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-20T14:48:48.000Z","updated_at":"2022-11-11T13:10:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"8d1e50eb-a4d7-4c60-9f3e-7e05423972da","html_url":"https://github.com/Ifera/PathMapper","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ifera%2FPathMapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ifera%2FPathMapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ifera%2FPathMapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ifera%2FPathMapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ifera","download_url":"https://codeload.github.com/Ifera/PathMapper/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248119297,"owners_count":21050755,"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":["adjacency-list","cpp","datastructures","dijkistra-algorithm","eme","nust","opensource","path-mapping","shortest-path-algorithm"],"created_at":"2024-10-08T14:24:51.521Z","updated_at":"2025-04-09T22:03:28.124Z","avatar_url":"https://github.com/Ifera.png","language":"C++","readme":"## PathMapper\n\nA data structures project utilizing Dijkistra algorithm and Adjacency List to find the shortest path between two nodes.\n\n## Overview\n\n**PathMapper** - An end semester project for **EC-200 Data Structure** course. \u003cbr /\u003e\u003cbr /\u003e\nWe were told to make use of what we had learned of Data Structures over the course of the semester and make a program that had the following features:\n\n- Map shortest path between two cities (inter-city).\n- Map shortest path between two towns within a city (intra-city).\n- Map shortest path between two cities while visiting a particular city i.e. from city A to city C via city B.\n- The path should be based on either shortest **time taken** or shortest **distance required**.\n\nWe were also made to find the time complexity of the entire project. \u003cbr /\u003e\nAll the requirements of the project were fulfilled with homegrown Adjancency List and Dijkistra algorithm. \u003cbr /\u003e\nThe complete project manual can be found [here](https://github.com/Ifera/PathMapper/blob/master/meta/Manual.pdf).\n\n## Layout\n\nThe project is essentially divided into three main classes, namely `AdjacencyList`, `App` and `Program`.\n\n- `AdjacencyList` is the main class here since it handles the creation of vertex, edges and mapping out the smallest path.\n- `App` class, wraps over the `AdjacencyList` and provides functions for ease of use.\n- `Program` class is responsible for running the entire project.\n\nThe project could very well work by just using the `AdjacencyList` class.\n\n## Dataset\n\nFor this project to work, it needs a file called `dataset.json`. It essentially contains the record of all the cities, towns, the distances between them and the time taken to reach a certain town. For easier testing a `dataset.json` file has been attached with this project which contains a list of some major cities and towns of Pakistan. Furthermore, a file called `dataset.json.example` is also provided for easier understanding.\n\n## Dependency\n\nThis project uses the [nlohmann.json](https://www.nuget.org/packages/nlohmann.json/) package for handling `.json` files. \u003cbr /\u003e\nDo remember to include it (if not included) to the project. More info on how to include a package to Visual Studio 2019 can be found [here](https://docs.microsoft.com/en-us/nuget/quickstart/install-and-use-a-package-in-visual-studio).\n\n## Building and Running\n\nAfter the dependency has been added, simply open the project in Visual Studio 2019 and click the run icon in the toolbar. Visual Studio will build the project and run it for you.\n\n## Outputs\n\nAn example of outputs that can be expected can be seen [here](https://github.com/Ifera/PathMapper/blob/master/meta/Output.pdf).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifera%2Fpathmapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fifera%2Fpathmapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fifera%2Fpathmapper/lists"}