Challenge Overview
Challenge Overview
You are making some updates to verigames web application and mini sites in this challenge.
Challenge Requirements
Facebook Connection
Facebook recent changes in API is more returning allowing apps to access usernames. This change broke the Registration flow in verigames website, the fixes needed :
-
Update Login and Registration flow to generate username using facebook user email
-
It’s preferred to extract the string before @ character and replace invalid characters with underscores.
-
The fix should be applied to both csfv_frontend_module and csfv_minisite_frontend_module.
-
-
Update SocialNetworkConnection model to mark username field as optional field, it would cause validation error if it is not present.
-
Update user profile Connection tab to generate proper user profile link for Facebook.
-
The code to be updated :
-
Registration.js controller exists in csfv_socialnetwork_module.
-
Login.js controller exists in csfv_frontend_module and csfv_minisite_frontend_module.
-
Route to access connection tab is /userPrivateProfile/connections
-
The connection tab controller that render the connection tab view is located in csfv_frontend_module UserPrivateProfile#viewProfileConnections.
-
The code to connect and disconnect social networks is located in csfv_socialnetwork_module SocialNetworkConnection.js controller.
-
-
Username Update
-
Update user profile to allow users to edit usernames.
-
There should be a validation (via ajax) whether or not the username is available. Display proper error validation message if entered username is already exist.
-
Add validation for username validity, use same validation rules as in Registration form.
-
The update should update all models that reference username as string and update these models with the new updated username.
-
Write a standalone script to allow updating a user’s username and all models that use the username from command line.
-
The csfv_frontend_module should have a Helper that do the username update and can be used by userProfileProfile controller and command line script. Don’t duplicate code please.
-
The code to be updated :
-
The route to access update profile is GET /userPrivateProfile/basicData
-
The code to render and update settings exists in csfv_frontend_module userPrivateProfile.js controller.
-
The registration form in csfv_frontend_module to refer to it to reuse validation can be accessed from route /login/signUp, the frontend js code is located in public/js/register.js and the controller located in csfv_socialnetwork_module.
-
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.
-
-
We have 5 branches to be updated, minisite1, minisite2, minisite3, minisite4, and minisite5.
-
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.