All Projects → kiegroup → Optaweb Employee Rostering

kiegroup / Optaweb Employee Rostering

Licence: apache-2.0
Web application for solving Employee Rostering using OptaPlanner

Programming Languages

java
68154 projects - #9 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Optaweb Employee Rostering

Tempus Fugit
A scheduling and time utilities module that doesn't waste your time
Stars: ✭ 70 (-39.13%)
Mutual labels:  scheduling
S2i Php Container
PHP container images based on Red Hat Software Collections and intended for OpenShift and general usage, that provide a platform for building and running PHP applications. Users can choose between Red Hat Enterprise Linux, Fedora, and CentOS based images.
Stars: ✭ 96 (-16.52%)
Mutual labels:  openshift
Arquillian Cube
Control (docker, kubernetes, openshift) containers in your tests with ease!
Stars: ✭ 110 (-4.35%)
Mutual labels:  openshift
Deploy
Deploy Development Builds of Open Cluster Management (OCM) on RedHat Openshift Container Platform
Stars: ✭ 78 (-32.17%)
Mutual labels:  openshift
Agenda Rest
Scheduling as a Service
Stars: ✭ 93 (-19.13%)
Mutual labels:  scheduling
Cronscheduler.aspnetcore
Cron Scheduler for AspNetCore 2.x/3.x or DotNetCore 2.x/3.x Self-hosted
Stars: ✭ 100 (-13.04%)
Mutual labels:  scheduling
Rhine
Haskell Functional Reactive Programming framework with type-level clocks
Stars: ✭ 69 (-40%)
Mutual labels:  scheduling
Lenses Docker
❤for real-time DataOps - where the application and data fabric blends - Lenses
Stars: ✭ 115 (+0%)
Mutual labels:  openshift
S2i Dotnetcore
.NET Core OpenShift images
Stars: ✭ 94 (-18.26%)
Mutual labels:  openshift
Medical Appointment Scheduling
Concept showcase for "Appointment Scheduling System for Small and Medium-Sized Medical Facilities"
Stars: ✭ 109 (-5.22%)
Mutual labels:  scheduling
Attemper
Distributed,multi-tenancy,job-flow scheduling application(分布式多租户的支持流程编排的任务调度平台) QQ群:1029617143
Stars: ✭ 86 (-25.22%)
Mutual labels:  scheduling
Laravel Totem
Manage Your Laravel Schedule From A Web Dashboard
Stars: ✭ 1,299 (+1029.57%)
Mutual labels:  scheduling
Fabric8 Platform
Generates the distribution of the fabric8 microservices platform
Stars: ✭ 105 (-8.7%)
Mutual labels:  openshift
Docker Headless Vnc Container
Collection of Docker images with headless VNC environments
Stars: ✭ 1,176 (+922.61%)
Mutual labels:  openshift
Liteflow
liteflow是一个基于任务版本来实现的分布式任务流调度系统
Stars: ✭ 112 (-2.61%)
Mutual labels:  scheduling
Openshift Cartridge Mongodb
Custom cartridge for OpenShift providing MongoDB > 3.2.
Stars: ✭ 70 (-39.13%)
Mutual labels:  openshift
Angular Idle Preload
🔜 Angular Idle Preload for preloading async routes via @TipeIO
Stars: ✭ 98 (-14.78%)
Mutual labels:  scheduling
Taskpacker
🎒 Simple schedule optimization library for Python
Stars: ✭ 115 (+0%)
Mutual labels:  scheduling
Kill Kube Ns
Kill a Kubernetes namespace suffering from being stuck in "Terminating"
Stars: ✭ 114 (-0.87%)
Mutual labels:  openshift
Linchpin
ansible based multicloud orchestrator
Stars: ✭ 107 (-6.96%)
Mutual labels:  openshift

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

= Employee Rostering Optimization as a Service

image:https://travis-ci.com/kiegroup/optaweb-employee-rostering.svg?branch=master[ "Build Status", link="https://travis-ci.com/kiegroup/optaweb-employee-rostering"] image:https://img.shields.io/badge/stackoverflow-ask_question-orange.svg?logo=stackoverflow[ "Ask question on Stack Overflow", link="https://stackoverflow.com/questions/tagged/optaweb-employee-rostering"] 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}]

An end-to-end https://www.optaplanner.org/[OptaPlanner] web application ready to deploy on https://www.openshift.com/[OpenShift 4].

See https://www.youtube.com/watch?v=sOWC4qrXxFk[the video demo].

== Building

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

[source,shell]

mvn clean install -DskipTests -DskipITs

== Running

After building the project, run the application with:

[source,shell]

java -jar optaweb-employee-rostering-standalone/target/optaweb-employee-rostering-standalone-*-exec.jar

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 spring-boot:run in optaweb-employee-rostering-backend to start the backend in another terminal.

=== Use a different port

To run on an another port use --server.port=...:

[source,shell]

java -jar optaweb-employee-rostering-standalone/target/optaweb-employee-rostering-standalone-*-exec.jar --server.port=18080

== Benchmark Application

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

[source,shell]

java -jar optaweb-employee-rostering-benchmark/target/optaweb-employee-rostering-benchmark-*.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 https://docs.optaplanner.org/latestFinal/optaplanner-docs/html_single/index.html#benchmarker[OptaPlanner Docs] for more information on benchmark tweaking.

== Running on a local OpenShift cluster

Use https://developers.redhat.com/products/codeready-containers[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 https://code-ready.github.io/crc/[Getting Started Guide].

  2. When the cluster has started,

a. add oc command-line interface to your $PATH: + [source,shell]

eval $(crc oc-env)

b. log in as "developer".

  1. Create a new project

[source,subs="quotes"]

oc new-project project_name

  1. Run the script:

[source,shell]

./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:

[source,shell]

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:

[source,shell]

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

== Development

=== Code formatter

Both IntelliJ and Eclipse formatters are available here: https://github.com/kiegroup/droolsjbpm-build-bootstrap/tree/master/ide-configuration

=== 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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].