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 master.

Challenge Requirements

Required Changes

You will address the following in this challenge :

  • The following pages frontend and backend should be updated to support using AngularJS in frontend :

    • Achievements page

    • Events pages

    • News pages

    • FAQ/About Us/Policies/Terms of Use pages

      • The UI of the pages should be updated to use the news look and feel.

      • You can assume they are news items.

      • The page will display similar widgets as in news details page.

      • Some cms pages should not have disqus widget, this should be controlled from ‘allow comments’ checkbox in the CMS Post.

    • User Popup Info

      • You get this page when you hover over a user photo or username.

      • Screenshot of this popup.

      • Add delays 1-2 seconds for displaying the popup

      • You only need to implement this in the main angularjs app.

    • Event Banner popup

      • Screenshot of this popup.

      • You only need to implement this in the main angularjs app.

  • The javascript of the above mentioned pages should be updated to use AngularJS. Use same angularjs version currently used in the application.

  • 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.

  • Related jade files of the mentioned pages above should become angularjs partials.

  • When loading CMS pages use this angularjs loading bar

    • The bar should be displayed below menu bar.

  • 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

  • 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

  • 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.

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

ID: 30050315