Challenge Overview
Project Overview
This project, the CSFV Community Gaming website project will provide the web site infrastructure and integration of the games. This will be a web site that is available on the Internet, and also delivered in a form where the server and the games can be installed and used behind a firewall.
Challenge Overview
The current flow when login or register via social networks that it validates the profile identifier exists in DB and associated with existing CSFV user, if not, then it takes user to registration flow. This is causing a confusing user experience.
We are fixing this flow in this challenge for facebook and google login/register as these are the only social networks we are currently using that return email of the user from it's social network. Twitter does not provide the user email.
Challenge Requirements
You will address the following in this challenge :
- The logic to connect social network account with existing CSFV user exists under csfv_socialnetwork_module#SocialNetworkConnection.js controller
- Logic to connect Facebook account with existing csfv user.
- Logic to connect Google account with existing csfv user. It is also used by twitter.
- both of the above logic should be moved to ControllerHelper.js to be used by Login.js and Registration.js controller
- Update csfv_frontend_module#Login.js controller and csfv_socialnetwork_module#Registration.js as follow :
- If the code to check social network account existence does not return a connection then
- Check if social network account profile has email set
- If email set then check if there is a CSFV user associated with that email using getByEmail method
- If user returned then delegate to the connect functions (the one moved to helper as outlined in the point above), to connect the social network account with the CSFV user.
- Auto login user after successful connection and redirect user to the proper page.
Testing and Test Scenarios
- You need to update provided test scenario to cover the new flow
- For registration test scenarios not affected by this update, you need to check them against your submission before submitting to make sure you have not broken any functionality.
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.
-
csfv_core_module
-
Other CSFV dependencies are listed in package.json of csfv_frontend_module, you can also search the topcoderinc repository to search for them.
Deploying the apps
Post in challenge forums if you have any issue during deploying the apps.
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.