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.
We completed chat frontend revamp part 1 recently. This is the 2nd challenge to revamp the chat frontend widgets and implement all it's functionality as expected.
Competition Task Overview
You are provided with a UI prototype that addresses 6 themes, you will address the following requirements in this challenge :
- The pages/widget in scope are :
- Chat History widget in Chat_For_Non_Admin.html, you can view the widget by opening any chat widget, click on "..." option and then click on "View Chat History" option from drop menu.
- The expand pages :
- Expand_Chat_History.html
- Expand_Chat_Room.html
- Expand_Chat_User.html
- Rewrite the chat jade files from scratch using the provided prototype.
- Use the CSS provided by the chat UI Prototype (You are not allowed to use any existing OLD css from csfv_chat_frontend_app module)
- Use knockoutjs in the javascript code to manipulate functionality in the widgets/pages (You are not allowed to hardcoded HTML code in the javascript files)
- Javascript code already implemented the functionality, you only need to make sure that everything works as expected with the revamped jade.
- Use the new JS file : revamped-chat.js, it should only contains the JS code that will be used by widgets implemented in this challenge, the existing frontend chat js files should not be referenced from the views, leave it as it is.
- Provide proper documentation for each method, and inline comments within the method implementation, this is important for future maintenance.
- Cleanup useless code that is not used by the widgets and expanded pages.
- All functionality in the chat history widget and expanded pages must be implemented, here a some notes about it that are not clear from the prototype :
- Expanded pages should be accessible when clicking on the expand icon in chat widgets.
- When closing expanded page it should return user to the chat web widget.
- Both admin and non-admin functionality must work.
- For placeholder text (i.e. Search Users placeholder in search box of main widget), it is currently use JS functionality for that, replace it with placeholder attribute.
- Searching users should be auto complete.
- "Turn Off" and "Block this person" we don't have support for it in backend, so they will be dead links for now.
- All user photos across all widgets should be implemented properly.
- To switch between themes, refer to the readme.txt file in the attached UI Prototype. All themes styling must look like the provided prototype.
- Tracing panels must be kept in the csfv_chat_frontend_app module.
If you have any doubt about specific functionality in the views/prototype-pages please ask in forums, the copilot will help you.
Chat Code
csfv_chat_module contains the chat server-side code.
csfv_chat_frontend_app contains the frontend application that host the views and run the chat application.
Testing Current Logic
If you need to test how the chat backend work with frontend, you can deploy csfv_chat_frontend_app in different directory, chat ports, and launch it as playground, you can refer to it while developing the new revamped frontend.
Github Code
The code is located in private github repository, http://github.com/topcoderinc please request access to get the code (if you don't already have it)
csfv_utilities_module
csfv_core_module
csfv_chat_module
csfv_chat_frontend_app
Final Submission Guidelines
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.