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 have recently completed a proof of concept assembly challenge to evaluate if we can use CSFV chat as a web widget, the challenge was successful and in this challenge we want to cleanup the chat module and integrate the web widget with remaining CSFV websites.
Project Requirements
You will address the following in this challenge :
- Update csfv_chat_module to be a self-contained application, to achieve this you need to move the following from csfv_chat_frontend_app to csfv_chat_module :
- app-chat.js - this will start the chat socket app
- config - contains only specific chat configuration and it's dependencies
- config.js
- controllers - only chat specific controllers, controllers related to csfv_chat_frontend_app should remain as is
- loader.js - this is for injection
- locales
- .gitignore file - this is to include files/folders to be excluded from git repo
- public - only css/js/images specific to rendering the chat web widget
- README.md - update this file with clear description how to setup and deploy the application
- views/chat folder- only chat folder (which contains chat web widgets) should be moved to csfv_chat_module, other views that render web widget and login page are not related to csfv_chat_mdule
- Update csfv_chat_module to use .env file to load enviornment variables instead of config/settings.js (you can refer to csfv_frontend_module for reference)
- Fix csfv_chat_frontend_app to render web widget properly after doing the above changes
- Update csfv_minisite_frontend_module (minisite1, minisite3, minisite4, and minisite5) to render chat web widget, and cleanup/remove chat related code and dependencies from these branches.
- Update messages notification popup in csfv_frontend_module and the five (5) csfv_minisite_frontend_module to render notification properly.
- Place the functionality in separate JS file. the JS file should be hosted in csfv_frontend_module and referenced by other minisites.
- Update messages tab in user profile of csfv_frontend_module so that messages work properly
- Place the functionality in a separate JS file, the JS file should be hosted in csfv_frontend_module and referenced by other minisites.
General Notes
- We already integrated chat web widget result from the PoC assembly into csfv_chat_frontend_app (chat-widget branch), csfv_frontend_module (chat-widget branch) and csfv_minisite_frontend_module (minisite2_chat-widget branch).
- You must use csfv_chat_frontend_app (chat-widget branch) as basis for your work since the chat web widget was put there.
- You can look at csfv_minisite_frontend_module (minisite2_chat-widget) as reference for how integration between chat web widget and minisite should be done, and what files to be cleaned up (cleanup package.json as well)
- You muse use csfv_frontend_module (chat-widget branch) as basis for changes to this module.
- The winner will merge back the chat widget branches back into master branch of each website
Github Code
- csfv_chat_frontend_app - csfv chat frontend web application.
- csfv_frontend_module - the csfv main website.
- csfv_minisite_frontend_module - the csfv minisites websites
- csfv_chat_module - csfv chat backend 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
.