Go to file
2024-05-29 14:41:46 +02:00
src add cli 2024-05-29 14:35:50 +02:00
.gitignore init 2024-05-24 13:09:17 +02:00
Cargo.lock add lock 2024-05-29 14:39:01 +02:00
Cargo.toml add cli 2024-05-29 14:35:50 +02:00
README.md add prebuilt info 2024-05-29 14:41:46 +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>

Or use prebuilt binaries

You can also use the pre-built binaries for windows and linux attached to the moodle submission with the same parameters as above.

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.