graphdbhue3/README.md

48 lines
1.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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](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.