Challenge Overview
1. Project Overview
Hercules would like to build a new dashboard that will render certain aspects of the consumer's account such as Facebook, Pandora, Sports, etc... to use their SIG API and also add the new functionality for photos. Needs to allow the consumer to edit their information.
CONSUMER PROFILE PLATFORM WEB APPLICATION: Right now there is a version that users can go to and see certain aspects of their account (dashboard, FB, Pandora, Sports, RSS reader, Weather, Stocks, Horoscopes). Aggregate and update their settings. This version is connected directly to their databases.
The new version will integrate client's public API (SIG) it's the API that feeds all of this. It will also add a new function area for Photos in addition to replicating the functionality for the other areas (Facebook, Pandora, etc.). On the X1 boxes, they can actually see the apps.
The SIG API is all of the user preferences (the third party stuff is one piece of it).
This architecture design the front-end app that allowing the users to update their preferences, and this app use the SIG API to actually persist the preferences update.
2. Competition Task Overview
In current implementation, we use a general error page to handle all errors: https://coder.topcoder.com/tcs/clients/hercules/applications/consumer_profile/trunk/hercules_customer_profile/public/500.html
It's not user friendly and any server error will cause the whole website doesn't work.
This assembly should improve the error handling to improve the user experience and display as much information as possible in the website.
Workflow:
- User Login on CIMA site
- If user's crenditals is incorrect, CIMA site will display the validation error
- If user pass the validation on CIMA site but the auth token given by CIMA doesn't have permission to call the API - Display user account permission error in website
- Backend get the app lists and devices lists for the user.
- If error occured while retriving the app list - Display error message in App tab
- If error occured while retriving the device list - Display error message in Device tab
- Display the app / device
- If we can't get the information for the app / device, hide this app / device
- Display the app settings / device perferences when user click it
- If we can't get the app settings / device perferences, display "unavailable" for the app settings / device perferences.
App Order:
Please make sure the apps are displayed by following order (when the app is available):
- Pandora
- Voicemail
- Photos
- News
- Stocks
- Horoscopes
- Weather
- Traffic
3. Code Base
https://coder.topcoder.com/tcs/clients/hercules/applications/consumer_profile/trunk/hercules_customer_profile (please send your request to subversion@topcoder.com if you don't have access)
4. Submission Deliverable
- Updated Code Base
- Deployment Guide
Final Submission Guidelines
N/A