Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Risk Management Tool UI Prototype Challenge

 

Challenge Objectives

 
  • Create Angular UI prototype for risk management app - admin screens

 

Project Background

 

We’re building a Risk Management tool. Intended app workflow is fairly simple - admin users define risk matrix and risk register and regular users use it to track risks for an activity and they can add actions to mitigate risk and get the final remaining risk number. Even though the workflow is simple, there are a lot of configurable options both on the admin and user side and making the tool flexible to support all those options is a high priority for the tool

 

This challenge is building the ui prototype and followup challenges will focus on building the backend, testing and integration.

 

Technology Stack

 
  • Angular

  • Typescript

  • TSLint


Individual requirements

 

Screen designs are provided in the forums. Wireframes that describe the user flow are also provided in the forums for reference.

 

There are two types of users in the app: admin and regular user. Only admin user screens are in scope of this challenge


Here is a short overview of the admin user workflow:

Admin user is first defining a risk matrix - wireframe pages 34-54, and a risk register for that same matrix - wireframe pages 55-59

Risk matrix has the following properties (see wireframes page 37-38):

  • Name (string)

  • Type (string)

  • Matrix size - X and Y dimension (positive integers)

  • Labels for X and Y axis

  • Sorting order for both axes

  • Additional criteria columns (X axis columns)

  • Additional criteria rows (Y axis columns)

  • Short title for each criteria column

  • Title for each criteria column

  • Text for each combination of criteria column and each row (Y axis dimension)

  • Name of each row (number of rows is equal to Y axis dimension)

  • Name of each column (number of columns is equal to X axis dimension)

  • Text for each combination of criteria row and each column (X axis dimension)

  • Value for each combination of row and column (actual risk values)

  • Risk categories definition (wireframe page 40) - ordered list:

    • Risk level range (ex 1-3)

    • Risk level label (ex II - see page 47)

    • Qualitative evaluation

    • Description

    • Color 

Those are just the underlying data attributes for defining a risk matrix. Additionally, each matrix should store presentation configuration attributes:

  • Location of X and Y axis labels (start, middle, end) - two attributes, one for each axis

  • Width of each criteria column (we’ll leave the interpretation of these attributes to frontend - just save a string value here - it’s up to the frontend developers to save either absolute width here or percentages)

 

Once a risk matrix is set up, the admin user has to configure a risk register for that matrix (matrix without a risk register won’t be used anywhere).  Risk register is a table with lots of configuration options that tracks risk changes for a particular activity. Admin users should configure it, and regular users will fill in the actual rows. Risk register has the following columns:

  • RiskNo, HazardId, RiskType, Category, Reference that are all mandatory columns

  • Risk Code, Risk Code 2, Event, Cause, Consequence - default columns that can be hidden 

  • Initial risk section - for each value of “additional columns” in the risk matrix, user should enter value for X axis, value for Y axis, and risk (this will be auto calculated).

  • Actions column, Status, Responsible, DueDate

  • Remaining risk - similar to initial risk section - holds the information on the risk remaining from initial risk after taking the actions from “Actions” column

  • Final Risk

  • Comments

  • Type (specific or generic)

  • Additional columns

 

Admin can add additional columns to risk register and each of those columns has these attributes:

  • Label 

  • Filter enabled flag

  • Type: Picklist, Text, Date

  • Allowed values in case the type is picklist

 

Admin users can also choose which columns will be visible for the end user. All columns except for mandatory columns and final risk can be hidden. Finally, column width can be saved for each column for presentation purposes (same behavior as criteria columns - just save a string value and let the frontend handle the interpretation)

 

Admin user features mapping to the design screens:


What To Submit

  • Submit the full app code

  • Submit a Readme with details on how to configure, build, run the app



Final Submission Guidelines

See above

ELIGIBLE EVENTS:

2021 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30150093