Key Information

Register
Submit
The challenge is finished.

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

For this challenge, we need to implement the adapter to retrieve data from Jira and Exchange Server(see chapter 4.2 in the software-spec):

  • The implemenation code should be put under plat-process\src\main\java\ch\post\it\plat\process\adapter (see chapter 5.4 in the software-spec)
  • The calling application will pass either a username or a list of usernames to get projects / tasks from Jira
  • The calling application will pass a username to AD and resolve the username to user email. In this challenge, please mock the AD implementation, we'll handle the actual AD integration later
  • The calling application will pass either an email or a list of emails to get absences from Exchange Server using ews web services, we can provide a sample for this in the forum
  • Make sure you read the requirements specification and software specification to make sure you understand what exact fields need to be retrieved from Jira / AD / Exchange Server
  • Please note this challenge should have no dependency on any other modules, however when we build the mananger, the manager will use the adapter to retrieve projects / tasks / subtasks / absences and use the domain layer to store them in the database.
  • You will need to setup your own Jira server locally for testing
  • We'll provide Exchange Server for your testing purpose
  • You must develop based on the client's skeleton, see minimal-app-code.zip

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.

Technology Overview

  • Java 8
  • Maven 3
  • Jira REST API
  • Exchange Server EWS Web Services

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:

  • Full adapter 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.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30050340