• Stars
    star
    153
  • Rank 234,837 (Top 5 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created about 7 years ago
  • Updated 5 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,580
star
2

optaplanner-quickstarts

OptaPlanner quick starts for AI optimization: many use cases shown in many different technologies.
Java
300
star
3

droolsjbpm-integration

Drools and jBPM integration with seam, spring, camel, ...
Java
269
star
4

droolsjbpm-build-bootstrap

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

jbpm-designer

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

appformer

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

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
165
star
8

guvnor

Guvnor is the governance framework for KIE workbenches
159
star
9

droolsjbpm-knowledge

The common API for Drools and jBPM
Java
115
star
10

dashboard-builder

Web application for the visual composition of dashboards
103
star
11

drools-wb

Drools Workbench is the web application and repository to govern Drools assets.
Java
102
star
12

droolscourse

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

optaplanner

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

github-action-build-chain

TypeScript
76
star
15

kie-wb-distributions

Drools, OptaPlanner & jBPM Workbench Distributions
Java
74
star
16

droolsjbpm-tools

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

mock-github

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

act-js

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

jbpm-wb

Web-based management process and task management console
Java
49
star
20

jbpm-work-items

Collection of jBPM work items and handlers
Java
43
star
21

jbpm-playground

Repository containing jBPM examples
Java
43
star
22

kie-wb-common

Shared screens, widgets and services for KIE workbenches.
Java
42
star
23

drools-archive

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

kie-cloud-operator

OCP Operator for KIE
Go
30
star
25

droolsjbpm-build-distribution

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

drools-chance

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

jenkins-pipeline-shared-libraries

This repository contains shared libraries used across different KIE Jenkins pipeline scripts.
Groovy
24
star
28

optaplanner-website

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

optaplanner-wb

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

drools-mas

Drools Multi Agent System (experimental)
Java
22
star
31

optaplanner-training

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

kie-soup

Java
20
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
11
star
36

trusty-ai-sandbox

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

kogito-runtimes-archive

Mirror of https://github.com/apache/incubator-kie-kogito-runtimes
Java
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

kie-issues

7
star
46

kie-benchmarks

KIE related benchmarks
Java
7
star
47

kie-docker-ci-images

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

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
49

kogito-online

kogito-online resources
6
star
50

kogito-editors-java

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

kie-ci

Various scripts for use with our Jenkins
Groovy
6
star
52

kogito-bom

Maven BOM for Kogito
Shell
5
star
53

kie-tooling-store

TypeScript
5
star
54

drools-lsp

Java
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

kogito-pipelines

Mirror of https://github.com/apache/incubator-kie-kogito-pipelines
Groovy
2
star
67

kie-uxd-sandbox

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

build-chain-configuration-reader

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

jbpm-data-modeler

jBPM Data Modeler (Archive)
Java
2
star
70

kie-tests

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

kogito-operator

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

kogito-awesome

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

kogito-serverless-operator-archive

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

serverless-logic-sandbox-deployment

Serverless Logic Sandbox resources
1
star
75

drools-ansible-rulebook-integration

HTML
1
star
76

rhpam-kogito-operator

Go
1
star
77

kogito-images-archive

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

kie-docker-ci

KIE & Docker - Continuous Integration
Java
1
star
79

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
80

build-chain-files-generator

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

kie-katacoda

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

npm-treatment-tool

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

iac-tools

Tools for IaC
Go
1
star
84

dashbuilder-website

JavaScript
1
star
85

kogito-benchmarks-mirror

Java
1
star
86

form-builder-ng

jBPM Form Builder (Archive)
Java
1
star
87

kie-assets-library

Library of KIE supported assets. Allows to deploy the assets in various runtimes (Quarkus, Spring Boot, Kjar) easily.
Java
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

kogito-tooling-go

Go
1
star
92

quarkiverse-specs-common

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

kie-sandbox-quarkus-accelerator

KIE Sandbox Quarkus Template
1
star
94

kogito-website

Kogito website
HTML
1
star
95

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
96

start.jbpm.org

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

kie-docs

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

kiebot

Java
1
star
99

j2cl-tools

Java
1
star
100

kogito-apps-archive

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