Quickest Path System (or QPS) is a terminal program and was developed as a team project for ALGOSUP. It allows the user to find the quickest path in time from a landmark A to a landmark B.
These landmarks are the United States roads.
Who are we?
Name | Role | Links | |
---|---|---|---|
LEFIN Mattéo | Project Manager | LinkedIn | GitHub | |
ADAM Enoal | Program Manager | LinkedIn | GitHub | |
DESPEAUX Guillaume | Technical Leader | LinkedIn | GitHub | |
Mathis LEBEL | Software Engineer | LinkedIn | GitHub | |
RIFF Michel | Quality Assurance | LinkedIn | GitHub | |
Gayat Camille | Technical Writter | LinkedIn | GitHub |
This project has been conceived using the C++ programming language.
We had approximately 5 weeks to complete the project, during which we implemented:
-
A Data Verification tool
-
A path finding algorithm
-
A REST API
The project was an excellent opportunity to understand how data structures and algorithms work which are essential in today's world.
Requirements
First, ensure you have a compiler installed:
macOS comes with a pre-installed compiler. To verify:
- Open a terminal.
- Type the following command:
- g++ --version
You should see output similar to this:
yaml
Apple clang version 16.0.0 (clang-1600.0.26.6) Target: arm64-apple-darwin24.2.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin
-
Ensure you see the line:
- Apple clang version 16.0.0 (clang-1600.0.26.6)
-
If the compiler is not installed, install Xcode Command Line Tools by running:
- bash
- xcode-select --install
Windows does not have a built-in compiler. You will need to install MinGW (Minimalist GNU for Windows). Follow these steps:
-
Download MinGW: Visit MinGW Installation Guide or download directly from SourceForge.
-
Install MinGW: During installation, ensure you select the options to install the C++ compiler.
-
Add the bin directory of MinGW to your system’s PATH environment variable. This allows you to use the g++ command from any terminal.
-
Verify Installation: Open Command Prompt and run:
- g++ --version
You should see something like:
csharp
g++ (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Launch the CSV Verification Code
- Navigate to the directory containing the source code:
- cd src
- Compile the C++ verification program using clang++ or g++:
- g++ -o verification main_verification.cpp verification.cpp -std=c++17 -pthread
- Run the compiled program:
- ./verification
- ./verification
- Open a Command Prompt or Terminal and navigate to the directory containing the source code:
- cd src
- Compile the C++ verification program using g++ (or your preferred compiler):
- g++ -std=c++11 verification.cpp -o verification.exe
- Run the compiled program:
- verification.exe
If you encounter any issues with the compiler setup on Windows, refer to the official MinGW InstallationDocumentation.
On macOS, the default clang++ compiler supports the -std=c++11 flag, so no additional setup should be required.
Launch the quickest path system
- Navigate to the directory containing the source code:
- cd src
- Compile the C++ Quickest Path System program using clang++ or g++:
- g++ -o shortest_path main.cpp graph.cpp preprocessing.cpp -std=c++17 -pthread
- Run the compiled program:
- ./shortest_path data/usa_roads.csv < start road number > < end road number >
- ./shortest_path data/usa_roads.csv < start road number > < end road number >
- Open a Command Prompt or Terminal and navigate to the directory containing the source code:
- cd src
- Compile the C++ Quickest path program using g++ (or your preferred compiler):
- g++ -std=c++11 main.cpp graph.cpp preprocessing.cpp -o shortest_path.exe
- Run the compiled program:
- shortest_path.exe data/usa_roads.csv < start road number > < end road number >
You can compile and run the program directly in the terminal of Visual Studio Code after cloning the repository:
- Open the repository folder in VS Code.
- Open the integrated terminal in VS Code (Ctrl+** on Windows/Linux, **Cmd+ on macOS).
- Compile the program:
- g++ -std=c++11 main.cpp graph.cpp preprocessing.cpp -o shortest_path.exe
- Run the program:
- ./shortest_path data/usa_roads.csv < start road number > < end road number >
If you encounter any issues with the compiler setup on Windows, refer to the official MinGW InstallationDocumentation.
On macOS, the default clang++ compiler supports the -std=c++11 flag, so no additional setup should be required.