:projectKey: org.optaweb.vehiclerouting:optaweb-vehicle-routing
:sonarBadge: image:https://sonarcloud.io/api/project_badges/measure?project={projectKey}
:sonarLink: link="https://sonarcloud.io/dashboard?id={projectKey}"

= OptaWeb Vehicle Routing

image:https://img.shields.io/badge/stackoverflow-ask_question-orange.svg?logo=stackoverflow[
"Ask question on Stack Overflow",link="https://stackoverflow.com/questions/tagged/optaplanner"]
image:https://img.shields.io/badge/zulip-join_chat-brightgreen.svg?logo=zulip[
"Join Zulip Chat",link="https://kie.zulipchat.com/#narrow/stream/232679-optaplanner"]

{sonarBadge}&metric=alert_status["Quality Gate Status", {sonarLink}]
{sonarBadge}&metric=reliability_rating["Reliability Rating", {sonarLink}]
{sonarBadge}&metric=security_rating["Security Rating", {sonarLink}]
{sonarBadge}&metric=sqale_rating["Maintainability Rating", {sonarLink}]
{sonarBadge}&metric=ncloc["Lines of Code", {sonarLink}]
{sonarBadge}&metric=coverage["Coverage", {sonarLink}]

Web application for solving the https://www.optaplanner.org/learn/useCases/vehicleRoutingProblem.html[Vehicle Routing Problem]
using https://www.optaplanner.org/[OptaPlanner].

== Run the application using a Bash script

If you're on Linux or macOS, you can use `runLocally.sh` to start the application on your computer.

* Use `runLocally.sh` with no arguments to run with the defaults.
This will download an OSM file needed to work with the built-in data set.

* Use `runLocally.sh -i` for the interactive mode.
In this mode you can choose from downloaded OSM files or download more OSM files.

* Use `runLocally.sh <REGION>` to run with the selected region.

See the
xref:optaweb-vehicle-routing-docs/src/main/asciidoc/run-locally.adoc[documentation]
to learn more about the `runLocally.sh` script.

=== Getting started video

The following https://youtu.be/rEeAML74oWo?t=107[video] shows how to download the OptaPlanner Vehicle Routing distribution and run it using the `runLocally.sh` script.

== Development

Read the <<optaweb-vehicle-routing-docs/src/main/asciidoc/development-guide#development-guide,Development>> chapter in the documentation.
