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
documentation
to learn more about the runLocally.sh
script.
First, clone this repository and cd
into it.
Frontend and backend are built and run independently. Open two terminal windows. Start the backend first, and then, when the backend is ready, start the frontend.
JDK 8 is the only system prerequisite for the backend. To install OpenJDK 8 on Fedora, run:
sudo dnf install java-1.8.0-openjdk-devel
-
Download OpenStreetMap data for a region. For demonstration purposes, we use data for Belgium from Geofabrik:
-
Download the OSM file belgium-latest.osm.pbf.
-
Save it to
optaweb-vehicle-routing/optaweb-vehicle-routing-backend/local/openstreetmap/belgium-latest.osm.pbf
.
-
Build backend:
cd optaweb-vehicle-routing-backend ./mvnw install
-
Run backend:
java -jar target/optaweb-vehicle-routing-backend-*.jar
When you start the backend for the first time, it will need several minutes to process the geographical information. Monitoring the terminal output, wait until the processing is complete, then start the frontend.
See Backend Development Guide to learn how to run backend during development.
If you want to try a different region than Belgium, download an OSM file from
Geofabrik
and select it with app.routing.osm-file
property when starting the backend.
Don’t forget to use app.region.country-codes
property to override geosearch results constraint.
There is currently only one out-of-the-box data set for Belgium so the Load demo button won’t work with other regions.
java -jar target/optaweb-vehicle-routing-backend-*.jar \
--app.routing.osm-file=massachusetts-latest.osm.pbf \
--app.region.country-codes=US
Caution
|
Using large OSM files
For best user experience, use smaller regions like individual European or US states. Using OSM files larger than 1 GB will require significant RAM size and take a lot of time (up to several hours) for the initial processing. |
-
Install
npm
. If you’re on Fedora, you can do this by running:sudo dnf install npm
-
Install dependencies:
cd optaweb-vehicle-routing-frontend npm install
-
Run frontend:
npm start
-
Open http://localhost:3000/ in a web browser. By default, the
npm start
command attempts to open this URL in your default browser.
Tip
|
Prevent
npm start from launching your default browserIf you don’t want You can use echo BROWSER=none >> .env.local |