Challenge Overview

Welcome to the Quartz Energy - Database Cleaning Tool - API Development challenge

Project Overview
As part of thos series of challemge we are building a tool which will help the client to idetify duplicate data, make a decision of which data to use and finally save the data to the dabatase. If the data satisfies more than one criteria then it puts the data in a set of staging tables, for review. The client will then log into the UI that we had built earlier and check/review the staging data, edit them or make a selection and let the jobs process the data with the new criteria. Data is stored in MaprDB tables and we will build various Spark/Hadoop jobs to manage that data. 

Challenge Overview
As part of this challenge we are going to build the Java implementation of the remaining REST API endpoints. The API specification is already built with Swagger.

API Spec Challenge Link - www.topcoder.com/challenge-details/30064597/?type=develop&noncache=true
Swagger API details - (check forum for link)

Other References and Previous Challenges - 
Application features are listed as part of the wireframe challenge. Wireframe Challenge - www.topcoder.com/direct/contest/detail.action?projectId=30063800
UI Prototype is deployed here -  (check forum for link)

Codebase
Please check forum for codebase link. 

Technology Stack
Backend: Java 8.x (Spring Boot + Spring Security with Windows Authentication + REST + Hibernate 5.x)
Frontend: Angularjs 5.x + Bootstrap 4.x
DB: SQL Server MapR DB Tables
Build Tools : Maven and Webpack
 
API should be implemented using Spring Boot & Java 8. Annotations are preferrec over xml configuration. All methods have to implement logging. Data cleaning tool should be called by the api to actually clean the data and move it to the target table. For more details on the process, see the implementation notes for each of the endpoints in swagger document. Manual review endpoints are the major requirements in this challenge (login, lookup, refreshStatuses and autoProcess endpoints are already implemented).
 
Unit tests are not required in this challenge. See challenge forums on how to get access to the project repository

Final Submission Guidelines

Submit the backend code
Submit a deployment/verification guide
Submit Postman scripts for verification

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30066141