Key Information

Register
Submit
The challenge is finished.

Challenge Overview

This challenge is part of a series of challenges to refactor csfv_frontend_module to use AngularJS in frontend.

You are updating csfv_frontend_module in this challenge, branch refactor_2015.

Challenge Requirements

Required Changes

You will address the following in this challenge :

  • Update the frontend javascript to AngularJS, the files to be refactored are placed under public/js/ folder :

    • common.js

    • search-members.js

    • user-profile.js

    • register.js

    • social.js

    • commenting.js

    • contact-us.js

    • disqus_counter.js

    • disqus.js

    • games.js

    • login.js

    • popups.js

    • reset-password.js

    • unlogged-home.js

    • user-wall.js

      • We no more have this functionality so remove it and it’s related backend.

    • utility.js

    • wiki.js

      • We no more have this functionality so remove it and it’s related backend.

    • activities.js

      • We no more have this functionality so remove it and it’s related backend.

  • The backend of the frontend js files listed above should be updated to be REST api, the main update is to make them returning json as response.

    • If you have hard time to figure out what backend route related to the functionality you are refactoring, then post in forums and copilot will help you.

  • All jades should become angularjs partials.

    • The user profile pages will be separate angularjs app and should have a single base url /profile.

    • The rest can be separate angular apps and each will have a single base url, ie. login pages will be have /login base url.

  • When loading CMS pages use this angularjs loading bar

    • The bar should be displayed below menu bar.

  • Cleanup the frontend to remove all references to wiki including the static files under public folder.

  • Cleanup all code that is not needed.

  • Cleanup controller and services to remove functionality not used.

  • Cleanup csfv_frontend_module README files to list only required configurations.

  • Follow this document for AnguarJS best practices :

    • all frontend Angularjs files should be placed under /public/cms folder in csfv_frontend_module.

  • We are open to your creativity for refactoring the functionality.

  • Update test data generator if needed.

Documentation Provided

  • The deployment guide of the CSFV website located in the github private repos, in README file. Ask questions in challenge forums. if you have troubles deploying the websites.

Source Code

Source code exists in private github repo https://github.com/topcoderinc/

If you get 404 then you need permission to access it. Request it in challenge forums, copilot will add you to the repository and you should receive email about you being added to github. Post your *github* account name when requesting access.

Get Started

You need to run the following to get CMS running and Frontend application pages up :

  • Checkout csfv_test_data_generator

  • Checkout branch refactor_2015.

  • Update db configuration in config/development.js, you don’t need to change it if you are using localhost in default port, and no username/password.

  • Run ‘npm install’

  • Run ‘node app.js’

  • Kill the app when you see ‘generation done.

  • Checkout csfv_frontend_module

  • Checkout branch refactor_2015.

  • Update configuration following README.

  • run ‘npm install’

  • run ‘node app-sockets.js’

  • run ‘node app.js’

  • access http://csfv.com:8889/

    • You might need to configure your hosts file to point csfv.com to 127.0.0.1

 


Final Submission Guidelines

Submission Deliverables

Below is an overview of the deliverables:

  • Patch file of changes.

  • Deployment document with verification screens for reviewers.

  • Updated csfv_test_data_generator module if needed.

Final Submission

For each member, the final submission should be uploaded to the Online Review Tool.

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30050706