Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Challenge Overview

This is first challenge in a series of challenges to cleanup CSFV backend services and controllers and refactor them in a single node module.

Challenge Requirements

We have the following standalone applications :

  • csfv_frontend_module : this is verigames.com website and renders notification widget in the website

  • csfv_oauth_module : this is an OAuth server

  • csfv_gaming_api_module : this is a REST API

  • csfv_chat_module : this represents a chat messaging application. We mainly use it in user profile under messages tab.

  • csfv_cms_module : this is a CMS application.

  • csfv_test_data_generator : this is to generate test data for the applications.

The modules you are merging in this challenge :

Here is what you will do in this challenge :

  1. Merge the 5 modules mentioned above in a single csfv_backend_module.

    • Combine all code under single folder.

    • Follow folder structure for the new module as outlined below.

    • For conflict file names, specifically helpers, you can rename it to have a prefix, i.e. helper from core module can be CoreHelper. Or you can merge all functions in single file and remove duplicate function names or merge function or rename functions.

    • Don’t include any services, functions, controllers from original module that are not used by any standalone application.

    • Delete all memcache code and dependencies from merged modules.

    • Update package.json to consolidate versions and remove unused libraries.

    • Fix lint for the source code merged here.

    • Remove unit tests. Don’t include it in the new code.

  2. For each standalone application :

    • update the configurations to reference the new module.

    • Remove all code, routes, views, and static files of csfv_wiki_module and csfv_wiki_processor_module.

  3. Write a readme file for the new module that contains the following :

    • Overview

    • Configuration sample and Table of configurations (A table is a must)

    • How to run lint.

Testing

For each module you need to make sure to test the functionality affected by the changes in backend module.

Folder Structure

Folder structure of backen should look like this :

  • models

    • <model-name>.js

  • controllers

    • <controller-name>.js

  • services

    • <service-name>.js

  • .gitignore

  • config/

  • READ.md

  • anything else needed.

Github Code

CSFV websites code exists in private github repository http://github.com/topcoderinc

Here is the repositories (you can search for them in the github.com link provided above). Also you can view all list of repositories here https://github.com/orgs/topcoderinc/teams/csfv-members/repositories



Final Submission Guidelines

Deliverable

  • New csfv module name csfv_backend_module with all source code and files that address above requirements.

  • Patch file for each standalone application listed in requirements.

  • Deployment guide with verification steps.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30050309