Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1st stable version of the program #21

Open
wants to merge 58 commits into
base: main
Choose a base branch
from
Open

1st stable version of the program #21

wants to merge 58 commits into from

Conversation

EnzoGuillouche
Copy link
Collaborator

This pull request stands for merging the first stable version of the program.

Features:

  • UI (console)
  • REST API (as a localhost server)
  • Algorithm (Dijkstra) with 100% accuracy and decent response time
  • Output choice in both JSON & XML formats
  • Build files for both macOS & Windows

The server needs to be online to calculate the quickest path.

Don't hesitate to request changes if the program needs to be modified 😁

PavloPrendi and others added 30 commits January 10, 2025 11:16
- Set up the REST API project with the following file structure:
    - `Src/Api`: Contains core REST API logic.
    - `Src/Api/JsonXml`: Includes JSON and XML response formatting logic.
    - `Src/Api/Algorithm`: Placeholder for backend pathfinding logic.
    - `Headers`: For input handling and display functionalities.

- Implemented a multi-platform REST API server with:
    - Conditional compilation for Windows and POSIX systems.
    - Multithreaded client handling using `std::thread`.
    - Basic error handling and dynamic response formatting.
- Placeholder logic for backend functionality.
added main menu and 'find my way' menu
created start.sh for mac users
created output.exe(build), enhanced api functionality, added parsing for USA-roads.csv
An error handling system is implemented.
added credits and completed it
exception handling in 'find my way' menu
handleException is now a function to avoid big copy paste
The algorithm to calculate the quickest path has been implemented, but needs some improvements.
A program that loads the dataset has been also created, but will need to be linked with the server.
in 'find my way' menu, after entering the start and end point, let the user choose if they want to continue, re-enter the start and end point or exit
after doing the calculation, let the result display and the user to choose when they want to exit
if we want to go to the say point, why bothering calculate the quickest path when you have to stay ? :) well it's fixed :D
./vscode does not contain personal information
The program now outputs the correct travel time beside the ordered list of edges.
changes everywhere in the interface :)
The path is no longer displayed on the console, but is converted into JSON data in the Bin folder
The XML format is now supported for outputs. To include all libraries, start files needed to be modified.
While entering the landmark IDs of your choice onto the console, you now cannot enter an ID that is not a landmark ID in the dataset.
The libraries used for the project need to be within the project directory, to prevent independent OS issues.
@EnzoGuillouche EnzoGuillouche added enhancement New feature or request high High priority level dev Development related labels Jan 22, 2025
Copy link
Collaborator

@Evan-UHRING Evan-UHRING left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 :D

All the files have been moved to their appropriate location.
You can launch the server and the client together with the pathQuickLauncher file, and still launch both files separately.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev Development related enhancement New feature or request high High priority level
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants