Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Our client is a company that has many applications deployed via Heroku instances.  As part of their company’s compliance rules, they have a need to monitor and report on these various instances as they pertain to a set of predefined compliance rules.  They currently have an application that does this, however, it has some issues they are looking to address with the new application.
The new app we're building will query the Heroku API for app instances according to predefined rules and will provide reports for apps that are not following the rules. For example apps not following a speciffic naming convention, apps with number of users larger than X, etc. We will assume all the clients apps are under the same team account. 

In the previous challenge we have built the backend that verifies app rule compliance for team apps and provides REST api for fetching job results. In this challenge we will build the complete frontend for the app. You can use Angular, React or Vue. There are only two major requirements: authentication and displaying reports.

Reports
The page should list the apps that break the configured rules (one table per rule). Each table should disply the following info
Title: rule name
columns: app name, owner email (backend API should be updated to save this field to db)
support for: filtering, sorting, export to csv (all of these should be client side operations)

Last job status info should be listed on this page as well (something like "Data was last refreshed at timestamp" and error info should be displayed if the last job was not successful). 
Administrator users should see the "Refresh data" button that would just trigger a new job in the backend.
Display a placeholder logo in the page header.
We don't have any UI designs for the app, so the only UI requirement is "make it look good" - use consistent page elements and styles.

Authentication
Use passport.js with heroku strategy - only users that are members of the configured team should be allowed access. Administrator users are those with admin role in the team.

Backend code is available at 
https://gitlab.com/hku-compliance-app/backend


Final Submission Guidelines

Submit updated backend app
Submit source for the frontend app
Submit deployment and verification guide
Submit a short demo video (unlisted Youtube video link)

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30061534