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

You will address the following in this challenge :

  • Update /dyanamakr frontend to use AngularJS. The /dyanamakr should be part of the main angularjs app https://github.com/topcoderinc/csfv_frontend_module/blob/master/public/ng/main.js

    • Currently there are JS errors in the page after refactoring, all JS errors must be fixed, the main functionality :

      • Searching

      • Social Drop Downs in header

      • Event Banner

      • Subscribe Email

      • Sign In

      • User Stats (in logged in version)

      • Any other JS error appear in browser console for logged in and non logged in users.

  • Dynamakr.js controller backend exposes exactly one method to render content, you will update it to be an API, and return a JSON response to angularjs.

    • Follow the same coding pattern we do for other controllers.

  • Dynamakr views will be changed to AngularJS partials.

  • Update angularjs main app to use resolvers for initial data loading. Refer to existing page for reference.

  • Make sure page load properly on IE browsers versions : 9, 10, and 11, we saw Caching issue previously when using AngularJS with IE.

  • Cleanup all code that is not needed.

  • 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/ng 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/dynamakr

    • 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

SHARE:

ID: 30051018