Skip to content

hft-rcpsp-scheduling/rcpsp-data-provider

Repository files navigation

Continuous-Integration Docker-Image Deployment

RCPSP Data Provider

This application provides an API to serve raw data (projects) and validate solutions. It should build the infrastructure for scheduling-algorithm implementations and defines the input- and output-format. In addition, the application can store solutions for later use.

Please read the Container Section to run the application and the Development Documentation to enhance the application. If there are still some questions, maybe the FAQ Page can help out.

Documentation

REST API

Have a look into the last Releases to get more information.

Project Structure

root
 |__ .docker                            --> non standard docker descriptors
 |__ .documentation                     --> documentation to different topics
 |__ .github                            --> github descriptors for workflows (actions) and templates (issues & PRs)
 |__ .mvn                               --> devault spring mvn wrapper library
 |__ .postman                           --> postman collections for load testing
 |__ src                                
 |    |__ main                          
 |    |     |__ java/com/hft/provider   --> root package
 |    |     |     |__ config            --> global spring configuration beans
 |    |     |     |__ controller        --> rest controllers for the api
 |    |     |     |     |__ model       --> models exposed by the api
 |    |     |     |__ database          --> internal database classes for projects & solutions
 |    |     |     |__ eval              --> solution evaluation
 |    |     |     |__ excel             --> classes to generate different excel files
 |    |     |     |__ file              --> reader for resource files
 |    |     |     |__ Application.java  --> Main-Class
 |    |     |__ resources               --> directory with app-configs, projects** & their makespans**
 |    |__ test                          --> mirrored package structure of the main project with test classes
 |__ docker-compose.yml & Dockerfile    --> standard docker descriptors
 |__ mvnw & mvnw.cmd                    --> default spring mvn wrapper
 |__ pom.xml                            --> maven descriptor with dependencies
 

**Project- and Makespan-Resources are from https://www.om-db.wi.tum.de/psplib/getdata_sm.html.

Configuration

Key Example Description
server.port 8080
spring.datasource.url jdbc:mysql://localhost:3306
spring.datasource.username root Should be injected into the productive container (if possible not root).
spring.datasource.password password Should be injected into the productive container.
spring.jpa.hibernate.ddl-auto update Values: create -> update -> none (mode for the db schema update)
spring.sql.init.mode always Values: always or never (mode to initialise date in the db)
spring.jpa.defer-datasource-initialization true Values: true or false (includes data.sql in data init)
spring.jpa.properties.hibernate.dialect org.hibernate.dialect.MySQL8Dialect
spring.jpa.show-sql false Values: true or false (mode for sql logging)
logging.level.root INFO Values: DEBUG -> INFO -> WARN -> ERROR (mode for general logging)

To get more information about the configuration, please read the official documentations.

About

Application to provide an API as infrastructure to solve RCPSP problems.

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •