Challenge Overview

The Role-Based Curriculum App (RBC App) is a tool created to automate the processes of role-based curriculum checklist management. The Role-Based Curriculum App is utilized to track the overall proficiency and capabilities of associates to perform role-based tasks.

 

We’ve recently completed the wireframe challenge for this application. You can see the wireframe challenge spec here to understand the application better. The backend REST services for this app will be built in Java and we've created a skeleton project structure in our backend repo. We’ve also built the Swagger documentation for these proposed REST services in the last challenge.

We’ve also run challenges earlier to implement the following endpoints

Challenge 1

-Users: all endpoints

-Teams: CRUDS endpoints + activate/deactivate

-RBCRequests: all endpoints

-Lookups: all endpoints

-User guides: all endpoints

Challenge 2

  • Checklists: all endpoints

  • Scores: all endpoints

  • Heatmaps: all endpoints

Challenge 3

  • Training Plans: all endpoints

  • Heamaps: all endpoints

Challenge 4

  • Calendar: all endpoints

  • Global Search: all endpoints

  • Import: all endpoints

In this challenge, we want to

 
  1. Implement the following entities and associated endpoints (See the provided Swagger)

  • Heatmaps: All endpoints are in scope. Some methods are already implemented (incorrectly), so make sure to double check the implementation details. See the Gitlab issues mentioned below for details.

  1. Currently, we have implemented tests based on Challenges #1 and #2 - however, some of these fail. You need to fix the code so that these tests pass.

  2. Additionally, we want to fix the following issues from previous  challenges – the list of issues is tagged with ‘Challenge 5 Scope’ in Gitlab

https://gitlab.com/sancus-rbc-community/backend/issues?label_name%5B%5D=Challenge+5+Scope

 

Provided Artefacts

- Wireframes

- Swagger & API mapping document for various pages

- We’ve completed the frontend Angular pages for mentor and trainee roles and these are present in the frontend repo (please see forums for how to access)

- Data model & Backend Skeleton Code (please see forums for how to access)

 

In this challenge, you need to do the following:

 

Submit a Java project implementing the listed entities and endpoints. You are expected to use the following technologies and build off the provided backend repo.

 

- Java 8

-  REST API

-  JSON

-  Apache HTTP Server

-  Tomcat 8

-  Spring Framework 4.x http://projects.spring.io/spring-framework/

-  Log4j 1.2 http://logging.apache.org/log4j/1.2/

-  Joda-Time 2.9 http://www.joda.org/joda-time/installation.html

-  Oracle 11g express edition



Final Submission Guidelines

- Git patch file of changes OR All source code and scripts that address the requirements

- Please include a Postman collection for testing all your API endpoints

- The winner will be asked to make a merge request to the repository

- Please provide a demo video and a deployment guide for how to run your submission

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30062924