https://github.com/algosup/2024-2025-project-3-quickest-path-team-3
Third project of the year 2024-2025. The goal: Create a REST API to find the quickest path between two landmarks located in USA.
https://github.com/algosup/2024-2025-project-3-quickest-path-team-3
cpp graph-algorithms
Last synced: about 1 month ago
JSON representation
Third project of the year 2024-2025. The goal: Create a REST API to find the quickest path between two landmarks located in USA.
- Host: GitHub
- URL: https://github.com/algosup/2024-2025-project-3-quickest-path-team-3
- Owner: algosup
- Created: 2025-01-03T16:01:16.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-02-03T13:51:14.000Z (3 months ago)
- Last Synced: 2025-02-05T16:47:03.352Z (3 months ago)
- Topics: cpp, graph-algorithms
- Homepage:
- Size: 4.52 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 2024 2025 - Project 3 Quickest Path - Team 3
## Team Members
| Picture | Name | Role | GitHub | LinkedIn |
| -------------------------------------------------------------------------------------------------------------- | ------------------------------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|  | Salaheddine NAMIR | Project Manager | [](https://github.com/T3rryc) | [](https://www.linkedin.com/in/salaheddine-namir-3402471b8/) |
|  | Alexis LASSELIN | Program Manager/ Technical Leader | [](https://github.com/AlexisLasselin) | [](https://www.linkedin.com/in/alexis-lasselin-318649251/) |
|  | Vivien Bistrel TSANGUE CHOUNGOU | Software Engineer | [](https://github.com/username4) | [](https://www.linkedin.com/in/bistrel-tsangue-603635261/) |
|  | Vianney POLARD | Software Engineer | [](https://github.com/4tinley) | [](https://www.linkedin.com/in/vianney-polard-44173a273/) |
|  | Lucas AUBARD | Quality Assurance | [](https://github.com/Bistrel2002) | [](https://www.linkedin.com/in/lucas-aubard-596b37251/) |
|  | Julian REINE | Technical Writer | [](https://github.com/JulianREINE) | [](https://www.linkedin.com/in/julian-reine-b2952632a/) |## Project Description
The goal of this project, the third of the scholar year, is to develop a high-performance software solution that computes the quickest path between two landmarks in the United States. This solution must be implemented in C++ and accessed via a REST API with specific input-output formats.
## Project Structure
The project is divided into several directories, each containing a specific part of the project:
- `Documents/`: Contains all the documents related to the project (Specifications, Reports, etc.);
- `QuickPath/Src/`: Contains the source code of the project;## How to build and run the project
> [!WARNING]
> The project needs CMake to be built. If you don't have it installed, you can download it [here](https://cmake.org/download/).First, clone the repository by downloading the ZIP file once you click on the green "Code" button.
Extract it and put the `.csv` file in the `QuickPath/` directory.
Then, you open a terminal and navigate to the `QuickPath/` directory.
```bash
mkdir -p build && cd build
cmake ..
make
./QuickPath
```The server will start and you can now access the API at `http://localhost:18080/`.
## How to use the API
We advise you to use [Postman](https://www.postman.com/) to test the API.
## How to use the frontend
Once the server is running, you can access the frontend by opening the `index.html` file in your browser.
### Get the quickest path between two landmarks
To get the quickest path between two landmarks, you need to send a `GET` request to the `/path` endpoint with the following parameters:
- `source`: The name of the source landmark;
- `destination`: The name of the destination landmark.
- `format`: The format of the response. Can be `json` or `xml`. If not specified, the default format is `json`.Here is an example of a request:
```postman
http://localhost:18080/quickestpath?source={source}&destination={destination}(&format={format})
```The result will then be displayed in the format you specified.