Schedule shifts to employees, accounting for employee availability and shift skill requirements.
-
Git clone the timefold-quickstarts repo and navigate to this directory:
$ git clone https://github.com/TimefoldAI/timefold-quickstarts.git ... $ cd timefold-quickstarts/use-cases/employee-scheduling
-
Start the application with Maven:
$ mvn quarkus:dev
-
Visit http://localhost:8080 in your browser.
-
Click on the Solve button.
Then try live coding:
-
Make some changes in the source code.
-
Refresh your browser (F5).
Notice that those changes are immediately in effect.
When you’re done iterating in quarkus:dev
mode,
package the application to run as a conventional jar file.
-
Compile it with Maven:
$ mvn package
-
Run it:
$ java -jar ./target/quarkus-app/quarkus-run.jar
NoteTo run it on port 8081 instead, add
-Dquarkus.http.port=8081
. -
Visit http://localhost:8080 in your browser.
-
Click on the Solve button.
-
Build a container image:
$ mvn package -Dcontainer
The container image name
-
Run a container:
$ docker run -p 8080:8080 timefold-solver-quarkus-employee-scheduling-quickstart:1.0-SNAPSHOT
To increase startup performance for serverless deployments, build the application as a native executable:
-
Compile it natively. This takes a few minutes:
$ mvn package -Dnative -DskipTests
-
Run a database. By default,
application.properties
is configured for H2:-
Download the H2 database (Platform-independent zip) and unzip it.
-
Start the H2 server with the option
-ifNotExists
(not recommended in production):$ cd h2/bin $ java -cp h2*.jar org.h2.tools.Server -ifNotExists
-
-
Run the native executable:
$ ./target/*-runner
-
Visit http://localhost:8080 in your browser.
-
Click on the Solve button.
Visit timefold.ai.