Key Information

Register
Submit
Status: ‌Cancelled zero submissions

Challenge Overview

Project Overview

Platane is a web-based resource-planning-tool (a resource is an employee with its work-capacity).

In Platane an employee can be reserved for a particular project (example: John works for project PLATANE 40% (2 days/week) from 1.1.2015 – 30.6.2015).Platane displays the work levels of the teams and employees, and projects the workload.. Platane collects from Exchange Server the absences of the employees and collects from Jira the assigned tasks for the employees. With an optimizing-algorithm, Platane calculates the optimal work-order of the tasks and the workload of the employees.

Competition Task Overview

We have a basic solver working for the optimizer and for this challenge, we want to focus on implementing all the business rules (constraints) from section 3.3.2 of the business requirements document (see Platane-business-requirements_V01.01.pdf for details).

Once the optimizer is ready, it will be used on the fly - each time the user makes a optimization-relevant change, these are out of scope of this challenge but just for you to understand how the optimizer is used:

  • ���View Employee-View
  • View Team-View
  • View Project-View
  • Click on Refresh Data  (Import from Outlook and Jira)
  • Add, edit, delete Capacity
  • Add, edit, delete Reservation
  • Add, edit, delete Manual-Task

Detailed Requirements

  • All the constraints must be implemented. You'll be working with PlataneScoreCalculator and its unit tests most of the time or all the time.
  • Please see section 4 and section 5.4 in Platane-software-specification_V01.01.pdf to better understand how / what layers are used to separate code.
  • Please check TODO.txt from the code branch, the notes are for this challenge.
  • You must work based on the specified gitlab code branch. The final submission should still our code skeleton.
  • Usage of Optaplanner is required.

Client Standards

Please make sure you go through all client documents, they contain important information about how you should write your code:

  • Developers-guide.pdf
  • Platane-business-requirements-v01.01.pdf
  • Platane-software-specification-v01.01.pdf

Testing

Unit tests are required, please check the Developers-guide.pdf document and make sure you follow the guidelines there.

Existing unit tests must still work after code is merged. New unit tests must be provided for new code provided in this challenge.

Technology Overview

  • Java 8
  • Maven 3
  • Jira REST API
  • Exchange Server EWS Web Services
  • Spring MVC
  • Oracle 11 / Express Edition
  • optaplanner.org

Documentation Provided

Register to download all documents from challenge forum.



Final Submission Guidelines

Submission Deliverables

A complete list of deliverables can be viewed in the TopCoder Assembly competition Tutorial at: http://apps.topcoder.com/wiki/display/tc/Assembly+Competition+Tutorials 

Below is an overview of the deliverables:

  • Code that covers all requirements
  • A complete and detailed deployment document explaining how to deploy the application including configuration information.
  • JUNIT Tests to verify your application successfully meets the requirements of the application.
  • The maven build script to build and run the code / tests.

Final Submission

For each member, the final submission should be uploaded via the challenge detail page on topcoder.com.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30051255