GithubHelp home page GithubHelp logo

ctk41 / optaweb-employee-rostering Goto Github PK

View Code? Open in Web Editor NEW

This project forked from kiegroup/optaweb-employee-rostering

0.0 0.0 0.0 10.72 MB

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

Home Page: https://www.optaplanner.org/

License: Apache License 2.0

Shell 0.36% JavaScript 0.41% Java 41.72% TypeScript 56.91% CSS 0.34% HTML 0.12% Dockerfile 0.14%

optaweb-employee-rostering's Introduction

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.

optaweb-employee-rostering's People

Contributors

agiertli avatar bsig-gh-bot avatar christopher-chianelli avatar cristianonicolai avatar ddoyle-redhat avatar dependabot[bot] avatar dmarrazzo avatar duncandoyle avatar dupliaka avatar ge0ffrey avatar ginxo avatar kiereleaseuser avatar kkufova avatar liangyuanruo avatar lonerifle avatar mareknovotny avatar mariofusco avatar mbiarnes avatar radtriste avatar rgdoliveira avatar rsynek avatar snyk-bot avatar tiagobento avatar triceo avatar yurloc avatar zhwt avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.