Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Project Overview

Currently a user can find a great deal of information about their Google Apps Domain through the Admin Console when logged in as an Admin to their Google Apps Domain.  Our customer is looking for a tool to query the Google Apps Domains through Google APIs and provide a dashboard view. This will put all of the settings in a read-only view all in one place.  This will also allow individuals who would not normally have access to this information the ability to at least have read access to the Google Apps Domain that their company maintains.

Competition Task Overview

This challenge should implement following changes and fixes:

Codebase: https://gitlab.com/jmartensappirio/google-domain-dashboard

Please use contact manager to request access. Your gitlab username must be included in the request.

  1. Remove Print and Export buttons

  2. Error handling on quota errors - Implement a single backend error handling process for all errors. Suggest a 5 count exponential back off process. Here is Google’s documentation on when to retry and how: https://developers.google.com/admin-sdk/directory/v1/limits

  3. Split groups loading process (get all groups and get group members) - As the code gets the groups, instead of getting the group members inline, create a task to get the group members. 1 task per group.

    • Update the loading screen to include the 3 loading operation. Example:

XX users loaded

XX groups loaded

XX groups members loaded

  1. Data storage update - store all data in the datastore then populate the memcache for better performance. If memcache is cleared get the data from the datastore. The datastore refresh is on a timed update every hour, configurable from the application.properties file. Plus the UI will have a Refresh Data button to force a data refresh which will utilize the current UI when data is loaded. This data load will also occur if the datastore is empty.

  2. Checkmarx security fixes - please fix the following issues identified in the attached PDF.

    • Unchecked Input For Loop Condition

    • Client Potential Code Injection

    • Client Potential XSS

Testing

The winner is required to provide the deployed google app engine project endpoint.

Technology Overview

 



Final Submission Guidelines

  • Deployment Guide
  • Source Code
  • Deployed App Engine Project

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30049680