Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Welcome to topcoder new community site - footer refactor part 1 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

But the scope of this challenge is only 1st item (The feed of blog posts and tweets) and will be described below. The remaining items will be refactored by next challenge.

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

Refactor Requirements:

Modify the submitted code to the AngularJS styleguide https://gitlab.com/topcoderinc/angularjs-styleguide/tree/master
This could be 2 directives (one for each feed), or just one directive for everything. 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.

pieces:

  • services
    • twitterFeedService, and twitter_widget_id or any other vars should configured in config.json
    • blogFeedService
    • etc.
  • directives
    • twitterFeedDirective
    • blogFeedDirective
    • etc.
  • etc.
  •  

- The blog feed should use the RSS feed at https://www.topcoder.com/feed/?post_type=blog

- The Twitter feed should retrieve JSON using the Twitter API

- 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.
- Feeds should match format, logic, and feel of current feeds

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
Readme on gitlab has been updated to be a bit more current and suggest using vagrant instead of a local setup, see https://github.com/appirio-tech/tc1-mf-vagrant



Final Submission Guidelines

  1. Please submit only PATCH files instead of updated files, reference :https://gitlab.com/topcoderinc/tc-site#challenge-submission-and-review
  2. Please also submit Deployment Guide file
  3. If additional / updates page on wp-admin is required, please provide them in TEXT file and explain how to insert it in your Deployment Guide
  4. Any new js or css file must be included in the registry. learn about this on script-register.json file, and be sure it will be processed the Gruntfile.js as part of the build process. All tests must pass after the included files are minified.
  5. 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: 30047525