Challenge Overview

The Managed Risk app is a ASP.NET web app used to build dynamic reports out of database tables of data.

The current web app allows having Metrics but it requires a developer to create them, in this challenge we want to allow Key Metrics to be managed from the web app.

Summary of what you will address :

- Dashboard to allow editing/deleting UserKeyMetrics dynamically generated.

- Generate/Edit Report to add Metrics tab to allow managing user key metrics.

- UserKeyMetrics table to allow storing fields used to generate the Metrics to allow later update.

- Backend to generate SQL scripts from the generated metrics, refreshing the SQL each time user update the report.

- Test Data/DDL/Deployment Guide

- Verification Document

Challenge Requirements

Metrics Current State Overview

Metrics are currently generated in two ways via the metrics table and populated on the front end in the same way (the front end user would not know the difference), check UserKeyMetrics and KeyMetrics tables

- Via hard coded SQL strings in the UserKeyMetrics table

- Linked to a table with executable store procedures (which can support more advanced metrics, temp tables etc.), the UserKeyMeterics #name field reference the system metrics stored in KeyMeterics table.

Technically this means that a user with some SQL background could easily generate costume metrics by writing a SQL script and adding it to the table.

The missing piece is function for a non-technical user to generate metrics on reports or tables in the database.

Pages in Scope

You will implement changes in “Generate/Edit Report” page flow, and “Dashboard” Page.

Changes & Requirements

You are provided with a PowerPoint file that summarize the proposed changes we want to make the frontend and backend.

The document is very detailed, if you have any questions or suggestions to improve the changes proposed please post it in forums for discussion with PM/Copilot.

This link will be provided in challenge forums

https://docs.google.com/presentation/d/10wf5mB4bWJSrYykMPLPO4GdMW9jOCL9sVJnXXYxGtY8/edit?usp=sharing

Technology overview

- Windows Server

- SQL Server 2012

- Visual Studio 2012

- IIS 7

- C#

- .NET Framework 4.5

- ASP.NET

- Unity 3.5 http://unity.codeplex.com/

- Enterprise Library 6 Logging https://msdn.microsoft.com/en-us/library/ff648951.aspx

- Quartz.NET 2.3.3 http://quartznet.sourceforge.net/

- jQuery 1.11.3 http://jquery.com

- Microsoft OpenXML SDK 2.5 https://msdn.microsoft.com/en-us/library/office/bb448854.aspx

- DevExpress ASP.NET Chart Control http://demos.devexpress.com/XtraChartsDemos/Default.aspx

Source Code

Source Code that you will use as basis for your work available on Gitlab (see below)

GitLab Access

- You can get access to the Gitlab repo group in this tool http://tc-ragnar.herokuapp.com/ragnar/groups/5613f730d601610e000f21bd/290828 .  If you are having trouble with the auto registration tool, please ask in the forums.

- Once added to the team, fork the repository and work off this branch  (https://gitlab.com/aers-managed-risk/backend/tree/30054782-assembly-challenge)

���



Final Submission Guidelines

Submission

- Upload documentation for how to run your submission

- Upload all your solution as git patch files.

- Add elkhawajah as a member of your forked repository

- Winner will be required to submit a merge request on gitlab against the branch specified.


 

ELIGIBLE EVENTS:

2016 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30054782