48 lines
1.5 KiB
Markdown
48 lines
1.5 KiB
Markdown
# 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. |