Skip to content

๐Ÿš€ Quickest Path REST API | A high-performance C++ REST API for calculating the quickest path between landmarks in the United States. Supports JSON/XML responses, efficient pathfinding using graph algorithms, and robust data validation. Ideal for route planning applications!

License

Notifications You must be signed in to change notification settings

algosup/2024-2025-project-3-quickest-path-team-5

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Welcome to the Quickest Path API project!


What is the Quickest Path API project?

The Quickest Path API project is a student-led project that aims to create a REST API to find the quickest path between two points in a file that contains 24 million nodes using C++.

For further information, please refer to the functional specifications.

For further technical information, please refer to the technical specifications.


CAP (Cap API Pathfinder)

CAP is a REST API that allows you to find the quickest path between two verticies of a graph that contains 24 million vertices. The API promises a response time below 1 second in every case. This has been achieved by using a custom algorithm that is based on the A* algorithm. The API is written in C++ and uses the Crow library to handle the HTTP requests.

Caution

A minimum of 8GB RAM is required for the software.


CAP Getting Started

  1. Install CMake 3.30 or higher
  2. Install Clang 12 or higher
  3. Install Boost 1.87.0 or higher
  4. Install ASIO 1.30.0 or higher
  5. Install PKGConfig
  6. Install jsoncpp 1.9.6 or higher
  7. Clone GoogleTest repository
    # From the root folder of the project
    git clone https://github.com/google/googletest.git
    Make sure to clone the repository to the root of the project and that the folder is named googletest.
  8. Generate the build files
    # From the root folder of the project
    cd cap
    cmake -S . -B build
    This command can require some modifications depending on your operating system.
  9. Build the project
    # From the root folder of the project
    cd cap
    cmake --build build
  10. Run the project
    # From the root folder of the project
    cd cap
    ./bin/cap
  11. Run the tests (optional)
    # From the root folder of the project
    cd cap
    ./bin/tests

DGV (DAG Graph Validator)

DGV is a tool that allows you to validate a graph file. The tool will check if the file is correctly formatted and if the graph is a Directed Acyclic Graph (DAG). The tool is written in C for performace reasons.


DGV Getting Started

  1. Install CMake 3.30 or higher
  2. Install Clang 12 or higher
  3. Clone GoogleTest repository
    # From the root folder of the project
    git clone https://github.com/google/googletest.git
    Make sure to clone the repository to the root of the project and that the folder is named googletest.
  4. Generate the build files
    # From the root folder of the project
    cd dag_graph_validator
    cmake -S . -B build
    This command can require some modifications depending on your operating system.
  5. Build the project
    # From the root folder of the project
    cd dag_graph_validator
    cmake --build build
  6. Run the project
    # From the root folder of the project
    cd dag_graph_validator
    ./bin/dgv
  7. Run the tests (optional)
    # From the root folder of the project
    cd dag_graph_validator
    ./bin/tests

Contributors

Photo Role Name Contact
Project Manager Habi CAILLEAU GitHub | LinkedIn
Program Manager Robin GOUMY GitHub | LinkedIn
Tech Lead Mathias GAGNEPAIN GitHub | LinkedIn
Software Developer Rรฉmy CHARLES GitHub | LinkedIn
Software Developer Maxime CARON GitHub | LinkedIn
Quality Assurance Jason GROSSO GitHub | LinkedIn
Technical Writer Alexandre BOPP GitHub | LinkedIn

About

๐Ÿš€ Quickest Path REST API | A high-performance C++ REST API for calculating the quickest path between landmarks in the United States. Supports JSON/XML responses, efficient pathfinding using graph algorithms, and robust data validation. Ideal for route planning applications!

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published