Challenge Overview

Project Overview

Currently the http://www.topcoder.com blog, challenge listing, and member profile pages are all in a WordPress site format.  

While WordPress has its strengths as a customizable platform, it doesn't fit TopCoder’s needs. This project will cover all aspects of the migration including selecting the new platform, creating a migration plan and implementing the new platform.

Competition Overview

The client has a number of existing issues that can be summarized as follows. Currently the site has several parts:

A couple issues that have been mentioned by the client are:

  1. The challenge listing and member profile pages are currently being migrated to AngularJS and WordPress is only serving the initial HTML. 
  2. Ideally, we could push as push as the site possible to a CDN and use Javascript to pull in the dynamic part. The client has considered a static site generator like jekyll or middleman but they need to have a front end GUI for non-technical team members.
  3. The client is also aiming for ease of development by the community. This is especially true with the challenge and member profile pages. Setting up development on just the AngularJS pages is difficult. Special workarounds would have to be made to use WordPress.
  4. Deployment between the Dev, QA and Prod branches is also an issue with the database portion of WordPress. The client ends up getting out of sync between environments, which causes issues with the QA group.

Deployment between the Dev, QA and Prod branches is also an issue with the database portion of WordPress. The client ends up getting out of sync between environments, which causes issues with the QA group.

Additional Details

The client really wants to push as much to a CDN as possible. During exploration of using Jekyll with AngularJS pulling in the dynamic parts the client ran into an issue with SEO and the Facebook graph. So some sort of dynamic information in the tags of the header section would be needed.

The client also has the idea to have the blog/static content served with jekyll and have a small server side component which server the html for the challenge pages. The html would be very minimally using AngularJS to build the page. The problem here is that we have multiple places where header/footer html/js/css would live. This adds a maintenance issue that the client currently has between the help site and the main site. The client is okay with using different git repos for the different parts are long as there is a way for them to share css/html for the header/footer.



Final Submission Guidelines

Submission Deliverables

  • System Design Specification (SDS) document written in an MS Word compatible document.
  • Class and sequence diagrams authored using the TopCoder UML tool or MS Visio.

Note that the main aim of this challenge is to investigate the technology stack and make it compatible with current TopCoder coding standards as well as to remove the Wordpress dependency.

Look into the dynamic aspects of the mentioned pages and see how TopCoder can remove Wordpress and still provide the same functionaly but in a manner that integrates with the rest of the platform in a way that is easier to maintain and use.

In a nutshell we are looking to achieve the following:

- POC of new technology stack
- Migrate profiles to new stack
- Migrate challenge listings and details to new stack
- Migrate content (blog posts, pages, etc.)

Documentation Provided

Source code will be provided in the forums.

NOTE: Currently the client is already using AngualrJS for the challenge details, challenge listing, and member profile pages so it would be important to keep those bits of code if possible.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30044005