Challenge Overview
Welcome to topcoder 96hrs topcoder - member profile page improvement The goal of this challenge is to improve performance of this page by invoking client side AJAX call when each tab (design/develop/data science tab) in the profile page is clicked, instead of redirecting the browser to reload the PHP
Resources Provided:
- Latest theme and plugin available on github https://github.com/topcoderinc/tc-site/tree/dev
- Latest xml is available on https://github.com/topcoderinc/tc-site-data
- API doc : http://docs.tcapi.apiary.io/#get-%2Fv2%2Fuser%2Fprofile
Current Performance :
http://www.topcoder.com/member-profile/psyho/ --- 24 seconds to load
http://www.topcoder.com/member-profile/jeffdonthemic -- 18 seconds to load
http://www.topcoder.com/member-profile/coralblue -- 27 seconds to load
http://www.topcoder.com/member-profile/ssmoimo -- 26 seconds to load
Expected Results :
1. The data/design/develop tabs when clicked should NOT redirect user to http://tcqa1.topcoder.com/member-profile/ngraphics/?tab={tabname} instead should invoke ajax calls from client side js to load the stats data & badges inline. don't forget to show loading icon when content is being loaded
2. Please refers to on how switching to other subtracks tab works on http://www.topcoder.com/member-profile/fireIce/?tab=develop. Subtracks architecture, assembly, test suites, design, develop under "develop" are loading and rendering by javascript.
3. Existing features (graph view, table view,etc) should work fine
4. All PHP functions calls on template can be removed, eg :get_member_statistic(), get_stat_design_recentWinning(), get_member_achievement() etc
API Endpoint examples :
- Challenge type (subtracks ) : http://api.topcoder.com/v2/develop/challengetypes
- Rating Summary : http://api.topcoder.com/v2/users/FireIce/
- Develop statistic : http://api.topcoder.com/v2/users/FireIce/statistics/develop
- Rating History and Distribution : http://api.topcoder.com/v2/develop/statistics/fireIce/Assembly , http://api.topcoder.com/v2/develop/statistics/hohosky/Specification
- Marathon/SRM Statistic : http://api.topcoder.com/v2/users/tomek/statistics/data/marathon http://api.topcoder.com/v2/users/tomek/statistics/data/srm
- Studio Recent Winning : http://api.topcoder.com/v2/users/abedavera/statistics/design/recentWins
Quick Installation guide:
1. Activate theme and plugin
2. Import provided XML file
3. Set home as front page
4. Set permalink to %post_name%
5. Please install site on local.topcoder.com (add to hosts file), so your local site can read tcsso and tcjwt cookie
6. Then please try http://siteurl/member-profile/fireIce/
7. If you get css/js issue, please do "reset css/js registry" on theme option menu
Final Submission Guidelines
- Please submit updated files and .diff file only
- Please follow this https://github.com/topcoderinc/tc-site/blob/dev/README.md#recommend-workflow-for-working-on-a-challenge
- Any new js or css file must be included in the registry. Learn about this on script and style registry section
- We will have winner to submit pull request once winner declared