• Stars
    star
    155
  • Rank 240,864 (Top 5 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 7 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

This project is no longer maintained. Visit https://github.com/kiegroup/optaplanner-quickstarts to see how to integrate OptaPlanner in your application.

This project is no longer maintained. Visit OptaPlanner Employee Rostering Quickstart to see how to integrate OptaPlanner in your application.

Employee Rostering Optimization as a Service

Join Zulip Chat License

An end-to-end OptaPlanner web application ready to deploy on OpenShift 4.

Building

Build the project with maven in the project’s root directory:

mvn clean install -DskipTests -DskipITs

Running

Run the application with the runLocally.sh script:

./runLocally.sh

Then open http://localhost:8080/ to see the web application.

Alternatively, run npm start in optaweb-employee-rostering-frontend to start the frontend in one terminal, and run mvn quarkus:dev in optaweb-employee-rostering-backend to start the backend in another terminal.

Use a different port

To run on an another port use -Dquarkus.http.port=…​:

./runLocally.sh -Dquarkus.http.port=18080

Benchmark Application

After building the project above, run the benchmark application with:

java -jar optaweb-employee-rostering-benchmark/target/quarkus-app/quarkus-run.jar

Note: make sure to run the project application and benchmark application on different ports if they are run simultaneously.

After benchmarking is complete, a benchmark report will be generated in the local/benchmarkReport directory. Open the index.html file in your browser to view the benchmark results.

Configure the benchmarker

To configure the benchmarker, modify the employeeRosteringBenchmarkConfig.xml file found in the optaweb-employee-rostering-benchmark/src/main/resources directory. Make sure to rebuild the project after modifying the config file for the benchmarker changes to be applied.

Refer to the OptaPlanner Docs for more information on benchmark tweaking.

Running on a local OpenShift cluster

Use Red Hat CodeReady Containers to easily set up a single-node OpenShift 4 cluster on your local computer.

Prerequisites

You have successfully built the project with Maven.

Procedure
  1. To install CRC, follow the Getting Started Guide.

  2. When the cluster has started,

    1. add oc command-line interface to your $PATH:

      eval $(crc oc-env)
    2. log in as "developer".

  3. Create a new project

    oc new-project project_name
  4. Run the script:

    ./runOnOpenShift.sh

Updating the deployed application with local changes

Backend

Change the source code and build the backend module with Maven. Then start OpenShift build:

cd optaweb-employee-rostering-backend
oc start-build backend --from-dir=. --follow

Frontend

Change the source code and build the frontend module with npm. Then start OpenShift build:

cd optaweb-employee-rostering-frontend
oc start-build frontend --from-dir=docker --follow

Development

Code formatter

IntelliJ, Eclipse and VS Code formatters IDE setup instructions.

Backend

Configure your IDE to run the main class, which is in org.optaweb.employeerostering.OptaWebEmployeeRosteringApplication in optaweb-employee-rostering-backend repository.

Frontend

Run npm install and then npm start in the optaweb-employee-rostering-frontend directory. You can run npm run lint locally to see all code style issues. You can run npm run lint:fix to reformat the code and fix issues without using an IDE.

More Repositories

1

jbpm

a Business Process Management (BPM) Suite
Java
1,633
star
2

droolsjbpm-integration

Drools and jBPM integration with seam, spring, camel, ...
Java
274
star
3

droolsjbpm-build-bootstrap

The build bootstrap contains the parent pom, guidelines and scripts for Drools, jBPM and OptaPlanner.
Shell
213
star
4

jbpm-designer

Web-based BPMN2.0 Designer for jBPM
JavaScript
188
star
5

appformer

A web platform to rapidly build forms for data management and business automation.
Java
184
star
6

optaweb-vehicle-routing

This project is no longer maintained. Visit https://github.com/kiegroup/optaplanner-quickstarts to see how to integrate OptaPlanner in your application.
Java
166
star
7

guvnor

Guvnor is the governance framework for KIE workbenches
159
star
8

droolsjbpm-knowledge

The common API for Drools and jBPM
Java
115
star
9

drools-wb

Drools Workbench is the web application and repository to govern Drools assets.
Java
104
star
10

dashboard-builder

Web application for the visual composition of dashboards
100
star
11

droolscourse

Source code for the Drools on boarding gitbook
Java
100
star
12

optaplanner

Mirror of https://github.com/apache/incubator-kie-optaplanner
Java
91
star
13

github-action-build-chain

TypeScript
76
star
14

kie-wb-distributions

Drools, OptaPlanner & jBPM Workbench Distributions
Java
75
star
15

mock-github

A library to create a local github environment and easily mock github APIs using an octokit like interface
TypeScript
59
star
16

act-js

A node.js wrapper for nektos/act to programmatically run your github actions locally
TypeScript
54
star
17

droolsjbpm-tools

Maven, ant, eclipse, ... plugins and support for Drools, jBPM and Guvnor functionality
Java
53
star
18

jbpm-wb

Web-based management process and task management console
Java
52
star
19

jbpm-work-items

Collection of jBPM work items and handlers
Java
43
star
20

kie-wb-common

Shared screens, widgets and services for KIE workbenches.
Java
43
star
21

jbpm-playground

Repository containing jBPM examples
Java
43
star
22

drools-archive

Mirror of https://github.com/apache/incubator-kie-drools
Java
38
star
23

kie-cloud-operator

OCP Operator for KIE
Go
30
star
24

optaplanner-website

The sources for the website https://www.optaplanner.org (using JBake and Antora) and the presentation sources.
HTML
27
star
25

droolsjbpm-build-distribution

The build distribution contains OSGi bundles, top level assemblies, ... for Drools, OptaPlanner and jBPM.
25
star
26

jenkins-pipeline-shared-libraries

This repository contains shared libraries used across different KIE Jenkins pipeline scripts.
Groovy
25
star
27

drools-chance

Adds uncertaintly support in the Drools rule engine
Java
25
star
28

optaplanner-wb

OptaPlanner workbench 7.x: OptaPlanner extensions to the KIE Workbench
Java
22
star
29

drools-mas

Drools Multi Agent System (experimental)
Java
22
star
30

optaplanner-training

A stale training course for OptaPlanner. Please use the optaplanner-quickstarts repo instead.
Java
22
star
31

kie-soup

Java
20
star
32

optaplanner-quickstarts

Mirror of https://github.com/apache/incubator-kie-optaplanner-quickstarts
Java
18
star
33

jbpmmigration

Migration tool for process definitions from jbpm 3 PDL to standard BPMN2
Java
16
star
34

droolsjbpm-contributed-experiments

Contributed experiments. Much of this code is stale and unmaintained, but we don't want to lose it.
Java
15
star
35

git-backporting

Git backporting is a CLI tool to execute pull request backporting.
TypeScript
15
star
36

kogito-runtimes-archive

Mirror of https://github.com/apache/incubator-kie-kogito-runtimes
Java
10
star
37

trusty-ai-sandbox

A sandbox repository for the Trusty AI team
Jupyter Notebook
10
star
38

jbpm-form-builder

jBPM Form Builder (Archive)
Java
10
star
39

drools-website

The awestruct sources for the website http://www.drools.org and the presentation sources.
FreeMarker
9
star
40

kogito-examples-archive

Mirror of https://github.com/apache/incubator-kie-kogito-examples
Java
9
star
41

jbpm-form-modeler

jBPM Task Form Modeler
8
star
42

kogito-docs

Kogito Documentation Repository
JavaScript
7
star
43

kie-dmn

The kie-dmn sources were merged into the Drools repository:
7
star
44

kie-server-optaplanner-task-assignment

OptaPlanner service for task assignment
JavaScript
7
star
45

drools-lsp

Java
7
star
46

kie-issues

7
star
47

kie-benchmarks

KIE related benchmarks
Java
7
star
48

kie-docker-ci-images

Docker images used for CI (Continues Integration) and testing
Shell
7
star
49

kogito-pipelines

CI/CD pipelines for Kogito
Groovy
7
star
50

kie-wb-playground

All workbench examples. This builds the jar included in the KIE workbenches, so examples can be imported offline.
Visual Basic 6.0
7
star
51

kogito-editors-java

KIE editors for Kogito. Archived repository. Please go to https://github.com/kiegroup/kie-tools
Java
6
star
52

kie-ci

Various scripts for use with our Jenkins
Groovy
6
star
53

kie-tooling-store

TypeScript
5
star
54

kogito-bom

Maven BOM for Kogito
Shell
5
star
55

kie-uberfire-extensions

KIE extensions to UberFire framework
Java
5
star
56

lock-treatment-tool

a js tool to treat package-lock.json and yarn.lock files.
JavaScript
5
star
57

jbang-catalog

An experimental jbang catalog to quickly operate some KIE capabilities, such as DMN and FEEL evaluation on the Command Line!
Java
5
star
58

jbpm-dashboard

jBPM Process & Task Dashboard
5
star
59

jbpm-website

The awestruct sources for the website http://www.jbpm.org and the presentation sources.
FreeMarker
4
star
60

kogito-tooling-examples

TypeScript
4
star
61

yard

This is a research effort, to explore this space. Not a supported capability. If you find this content interesting and you would like to contribute, feel free to contact us and reach out!
Java
4
star
62

dmn-feel-handbook

A vademecum for the FEEL expression language from the DMN specification, as also implemented by the Drools DMN open source engine
SCSS
4
star
63

chain-status

a Github PR's status webpage
TypeScript
3
star
64

kogito-online-staging

CSS
3
star
65

kie-cloud-tests

Cloud (OpenShift) integration tests for KIE projects.
Java
2
star
66

kie-uxd-sandbox

Sandbox for UXD team to document designs and prototype the front end.
HTML
2
star
67

build-chain-configuration-reader

A javascript library to read build-chain tool configuration files
TypeScript
2
star
68

kie-tests

Repository for integration tests and other tests involving multiple projects
Java
2
star
69

jbpm-data-modeler

jBPM Data Modeler (Archive)
Java
2
star
70

kogito-operator

Mirror of https://github.com/apache/incubator-kie-kogito-operator
Go
2
star
71

kogito-awesome

A curated list of awesome demos, tutorials, blogs and more about Kogito
2
star
72

kogito-serverless-operator-archive

Mirror of https://github.com/apache/incubator-kie-kogito-serverless-operator
Go
2
star
73

serverless-logic-sandbox-deployment

Serverless Logic Sandbox resources
1
star
74

drools-ansible-rulebook-integration

HTML
1
star
75

rhpam-kogito-operator

Go
1
star
76

kie-build-helper-jenkins-plugin

Simple Jenkins plugin which helps to automate KIE CI builds. Tightly coupled with KIE and our workflows.
Java
1
star
77

build-chain-files-generator

the tool to create files based on build configuration
JavaScript
1
star
78

kie-katacoda

Katacoda's for KIE projects (Drools, OptaPlanner, Kogito)
1
star
79

npm-treatment-tool

a js tool to treat package.json files.
JavaScript
1
star
80

kie-docker-ci

KIE & Docker - Continuous Integration
Java
1
star
81

iac-tools

Tools for IaC
Go
1
star
82

dashbuilder-website

JavaScript
1
star
83

kogito-benchmarks-mirror

Java
1
star
84

kogito-images-archive

Mirror of https://github.com/apache/incubator-kie-kogito-images
Shell
1
star
85

form-builder-ng

jBPM Form Builder (Archive)
Java
1
star
86

kie-assets-library

Library of KIE supported assets. Allows to deploy the assets in various runtimes (Quarkus, Spring Boot, Kjar) easily.
Java
1
star
87

kogito-website

Mirror of https://github.com/apache/incubator-kie-kogito-website
HTML
1
star
88

gwt-jsonix-schema-compiler

Utility built around JSONIX tools to create JSInterop classes from an xsd schema and use them for client-side marshalling/unmarshalling
Java
1
star
89

appformer-js

1
star
90

kie-dmn-versionconverter

Java
1
star
91

quarkiverse-specs-common

Library shared by openapi and asyncapi quarkiverse extension
Java
1
star
92

kogito-tooling-go

Go
1
star
93

kie-sandbox-quarkus-accelerator

KIE Sandbox Quarkus Template
1
star
94

ruleops

This is a research effort, to explore this space. Not a supported capability. If you find this content interesting and you would like to contribute, feel free to contact us and reach out!
Java
1
star
95

start.jbpm.org

Bootstrap JBPM is an application that allows to generate easily jBPM based business applications.
HTML
1
star
96

kie-docs

Mirror of https://github.com/apache/incubator-kie-docs
JavaScript
1
star
97

kiebot

Java
1
star
98

j2cl-tools

Set of libs and frameworks for J2CL apps
JavaScript
1
star
99

kogito-apps-archive

Mirror of https://github.com/apache/incubator-kie-kogito-apps
Java
1
star