Topcoder - Support Groups Concept For Challenges

Register
Submit a solution
The challenge is finished.

Challenge Overview

We'd like to introduce group concept for challenges, the first step is making the direct app be able to create/edit challenges with groups.

1. How to keep the challenge and group relationship?
We'd like to have a new table to hold this information.  one challenge can have zero (public challenge), one or more groups. let's use the following table definition hold the info.

create table 'informix'.project_group_xref (
    project_id INT not null,
    project_group_id INT not null,
    create_user VARCHAR(64) not null,
    create_date DATETIME YEAR TO FRACTION not null,
    modify_user VARCHAR(64) not null,
    modify_date DATETIME YEAR TO FRACTION not null
)
extent size 2000 next size 2000
lock mode row;
revoke all on project_platform from 'public';


2. the project_group_id can be uniquely identify a group, the related information can be from different places, like configuration file or from database table

For this challenge,  we'd like to have another table to define the project group data.
let's define it like 

create table 'informix'.project_group_lu (
    project_group_id INT not null,
    name VARCHAR(255) not null,
    create_user VARCHAR(64) not null,
    create_date DATETIME YEAR TO FRACTION not null,
    modify_user VARCHAR(64) not null,
    modify_date DATETIME YEAR TO FRACTION not null
)
extent size 64 next size 64
lock mode row;
revoke all on project_platform_lu from 'public';


3. The configure behaivor for groups, should be similar as project platforms and project technologies.

Local Setup

- Please follow Build and Run with Docker compose to build and run direct app locally

 

Final Submission Guidelines

- Changes for tc-database-scripts for the new tables
- Changes for direct-app for the new logic
- Verification Steps
- Winner Will be responsible to create the PRs for merge

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30057574