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 will be delivered in a form where the server and the games can be installed and used behind a firewall.
In this challenge we are revamping the chat frontend scripts as outlined below.
Challenge Requirements
The chat module support three areas with real time messages and notification :
- Message popup notification in website header
- Messages tab in user profile
- Chat widget
Few notes about chat module :
- The chat widget is a web widget.
- All three features outlined above use same JS script in frontend.
- The current frontend JS scripts of the chat module is coded in a way that makes messages tab and popup notification depends on the chat widget html appearence in the page to be functional.
We need the ability to disable chat widget and keep the messages popup and tab to remain functional and working as expected, in order to get this done we need to address the following single MAJOR requirement :
- Introduce a new parameter used to enable/disable chat web widget. This parameter to be passed from hosting website to the chat module that loads the web widget statics files.
- When the parameter is set to disable chat web widget, then expected behavior is that chat module will not load any frontend CSS or JS statics that is only related to the chat web widget because it is useless code and will affect page load performance.
-
https://github.com/topcoderinc/csfv_frontend_module/blob/master/public/js/messages.js#L206 this is messages tab and it depends on chat widget, so we need fix it.
-
https://github.com/topcoderinc/csfv_frontend_module/blob/master/public/widget_notifications/js/widget.js#L108 this is notification header, it depends only on chat widget. This needs to be revamped.
Testing
Reviewer is expected to test the solution with both enabled/disable web widget, make sure you test the functionality thoroughly before submitting, we are providing you with chat test scenario in challenge forums to help you testing the functionality.
Any UI issue is out of scope of the challenge, reviewer should not punish related issues.
Github Code
- csfv_frontend_module - The main website web application.
- csfv_chat_module - csfv chat module contains the backend code and the web widget related code
Submission Deliverables
Below is an overview of the deliverables:
- Patch file of the changes, include the hash commit used as basis for the work.
- A complete and detailed deployment document explaining how to deploy the application including configuration information.
Final Submission
For each member, the final submission should be uploaded to the Online Review Tool.
Final Submission Guidelines
.