Key Information

Register
Submit
Status: ‌Cancelled zero submissions

Challenge Overview

Welcome to topcoder new community site - footer refactor challenge.  The main goal of this challenge is to refactor footer section to AngularJS.

Challenge Description :
We need to rewrite and clean up footer.php file as an Angular directive, and currently it contains 3 main parts below :
1. The feed of blog posts and tweets
2  The registration modal
3. The login modal
4. Design Submission viewer

1. The feed of blog posts and tweets
twitter feed : https://gitlab.com/topcoderinc/tc-site/blob/TC-2014-10-23/wp-content/themes/tcs-responsive/footer.php#L11
blog : https://gitlab.com/topcoderinc/tc-site/blob/TC-2014-10-23/wp-content/themes/tcs-responsive/footer.php#L57-74 should load /feed/?post_type=blog

2. The registration modal
current code : https://gitlab.com/topcoderinc/tc-site/blob/TC-2014-10-23/wp-content/themes/tcs-responsive/footer.php#L582-641

3. The login modal
current code : https://gitlab.com/topcoderinc/tc-site/blob/TC-2014-10-23/wp-content/themes/tcs-responsive/footer.php#L213-575
http://www.topcoder.com/?action=showlogin should trigger this modal window

4. Design Submission viewer
HTML for design submission viewer should be relocated to challenge detail template. https://gitlab.com/topcoderinc/tc-site/blob/TC-2014-10-23/wp-content/themes/tcs-responsive/footer.php#L186-211
 

Refactor Requirements:
Modify the submitted code to the AngularJS styleguide
https://gitlab.com/topcoderinc/angularjs-styleguide/tree/master
This could be either 3 directives, or just 1. They should all be things we could just pull into an Angular app (which is what's going to happen -- they're going to be used by lots of different Angular apps). And please ensure footer will display correct content on All templates (home, challenge listing, blog, etc.) 
When creating directives, please don't just wrap jQuery in a veneer of Angular.

single Footer App :

  • services
    • twitterFeedService, and twitter_widget_id or any other vars should configured in config.json
    • blogFeedService
    • etc.
  • directives
    • login-directives
    • register-directives
    • etc.
  • templates (partials)
    • footer
    • etc.
  • controllers:
    • twitterFeedCtrl
    • etc.

- Any inline javascript in footer.php (e.g. : Twitter Marketing Code and KISSmetrics) should be relocated to their own file.

- Any new js/css files should be included in the Gruntfile.js as part of the build process. All tests must pass after the included files are minified.

Test Cases :
Please be sure this refactor and clean up will not break any existing functionality.
- Registration and Login flow
- http://www.topcoder.com/?action=showlogin should trigger login modal window as existing
- http://www.topcoder.com/?action=callback should trigger registration modal window
- Design submission Viewer should work fine as existing
- Challenges listings
- Register / Submit to a develop or Design challenge

During development and review process, don't submit or register to any live challenges, so please ensure your installation has been pointed to QA env, or see config.json.

Browsers Requirements :
- IE10
- IE11
- Latest Safari
- Latest Firefox
- Latest Chrome

Deployment Guide :

Local Setup : https://gitlab.com/topcoderinc/tc-site/blob/master/README.md#local-env-setup, if you want to disable local minification, please configure it in config.json

 



Final Submission Guidelines

  1. Please submit only PATCH files, reference :https://gitlab.com/topcoderinc/tc-site#challenge-submission-and-review
  2. Any new js or css file must be included in the registry. learn about this in script and style registry section
  3. We will have winner to submit pull request once winner declared

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30047349