Go to file
2024-05-29 14:37:58 +02:00
src add cli 2024-05-29 14:35:50 +02:00
.gitignore init 2024-05-24 13:09:17 +02:00
Cargo.toml add cli 2024-05-29 14:35:50 +02:00
README.md remove db change infos 2024-05-29 14:37:58 +02:00

Graph Databases Homework 3

A simple route planning between cities with routes was implemented in Rust.

Run yourself

The project has a minimum supported Rust version (MSRV) of 1.63.0.

The Neo4j database has to be started manually and run in background. To start the project run:

cargo run --package graphdbhue3 --bin graphdbhue3

You can use the CLI interface to select the proper db credentials:

 ./graphdbhue3 --help
Simple Route planning application

Usage: graphdbhue3 [OPTIONS]

Options:
      --host <HOST>          host of db [default: 127.0.0.1]
      --port <PORT>          port of db [default: 7687]
      --username <USERNAME>  username of db [default: ]
      --password <PASSWORD>  password of db [default: ]
  -h, --help                 Print help
  -V, --version              Print version

Appending cli parameters to the above cargo run command is as simple as:

cargo run --package graphdbhue3 --bin graphdbhue3 -- --username <yourusername> --password <yourpwd>

Accessing Web Interface

The API is exposed on Port 8081.

Access it through the Swagger Web UI: http://localhost:8081/docs

Usage

Adding cities and routes

With the /addcity and /addroute endpoints you can add cities and link them together through routes.

Requesting shortest path

Afterwards you can plan a route from one city to another with /shortestpath. This returns the shortest path between the two cities respecting the distance parameter of the ROAD edge.