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.
- Search is not currently working in main search bar or subsequent subsection bars.
- Should be able to search for users on full or partial name, email.
- If more than one user is returned from the search the user should be presented a means by which to choose from the returned list.
- Once the user is selected all sub sections are populated with information that is relevant to that user.
- Under Organizational Units you should be able to expand an OU by selecting it and seeing the users in that OU.
- Once a User is selected all sub sections should be populated with information about that user.
- When the application loads the only information that should preload is App Status and Security Settings. All other data should only be loaded when a search is performed.
- If the user hits enter while in a selection box and there is no text entered it should perform a search all operation.
- Include a button for each section next to the search box that says "Refresh" which would perform a refresh for that section.
- When a search is performed some indicator should be displayed to the user to show that something is happening. Ideally a loading GIF will be displayed.
- If a search is going to take longer than the allotted time within the App Engine restrictions it should show a loading bar. The application should also leverage task queues and data caching where appropriate.
- Authentication: Is working correctly currently, but there are a couple minor improvements we would like.
- Authentication is not checking to see if the user is logged in on load which is causing the user to log in even if they are already logged in to their Google Account.
- (Enhancement) Login messages should be wrapped in a centered message box that leverages existing bootstrap libraries and looks more consistent with the existing UI.
Testing
The winner is required to provide the deployed google app engine project endpoint.
Technology Overview
- Java 6
- Google App Engine
- Spring 3.2.8
- Apache POI 3.1.0
- Google Client API 1.0
- Log4j 1.2.17
- Google Admin Directory API 1.19.0
- Google Reports API 1.0
- Google Apps Marketplace 2.0
- Google OAuth2 API 2.0
Final Submission Guidelines
- Deployment Guide
- Source Code
- Deployed App Engine Project