Topcoder API - Simplify Draft Challenge API and Adhere to Standard API Specification

Key Information

Register
Submit
The challenge is finished.

Challenge Overview

Currently, the draft challenge api is functioning but in a mess, like 

1. the request is very complex and can be simplified. for example,

{
    "userId": 8547899,
    "projectId": -1,
    "tcDirectProjectId": 1245,
    "competitionType": "SOFTWARE",
    "assetDTO": {
        "name": "Test 1",
        "productionDate": "2017-04-01T09:00:00-04"
    },
    "projectHeader": {
        "id": -1,
        "tcDirectProjectId": 1245,
        "projectSpec": {
            "projectSpecId": 0,
            "detailedRequirements": "requirement",
            "finalSubmissionGuidelines": "guidelines"
        },
        "projectMMSpecification": {
            "problemId": -1
        },
        "prizes": [{
            "place": 1,
            "prizeAmount": 1400,
            "prizeType": {
                "id": 15,
                "description": "Contest Prize"
            },
            "numberOfSubmissions": 1
        }, {
            "place": 2,
            "prizeAmount": 700,
            "prizeType": {
                "id": 15,
                "description": "Contest Prize"
            },
            "numberOfSubmissions": 1
        }],
        "properties": {
            "Billing Project": "0",
            "Confidentiality Type": "public",
            "Project Name": "Test 1",
            "First Place Cost": "1400",
            "Payments": "1400",
            "Second Place Cost": "700",
            "Review Cost": "1032",
            "Reliability Bonus Cost": "420",
            "DR points": "630",
            "Digital Run Flag": "Off",
            "Checkpoint Bonus Cost": "0",
            "Admin Fee": "0",
            "Spec Review Cost": "50",
            "Cost Level": "B",
            "Copilot Cost": "0",
            "Review Type": "COMMUNITY"
        },
        "projectCategory": {
            "id": 7,
            "name": "ARCHITECTURE",
            "projectType": {
                "id": 2,
                "name": "Application"
            }
        },
        "tcDirectProjectName": "Lambda Test",
        "securityGroupId": 0
    },
    "directProjectMilestoneId": 1,
    "endDate": "2017-05-20T09:00:00-04",
    "contestCopilotId": 132456,
    "contestCopilotName": "heffan",
    "technologies": ["2"],
    "platforms": ["4"],
    "hasMulti": false
}

please check the attached challenge.yaml for simplication.  if there are any required fields, please post in forum for addition.

this part should be added intot swagger.yaml finally.

2. the API requests and responses are not following the v3 API standards.

The challenge would like to fix these problems.

1. For request, it should be simplified as input, the final object should be formed inside the API implementation and be used for creating the draft challenge.
2. Update the request and response to follow the v3 API standards, a sample yaml file will be provided to the model in terms of the api request/response/etc
3. the swagger.yaml should be updated to reflect the changes

About Local Setup

- The Create Draft Challenge API need to communicate with Direct App, Please check https://github.com/appirio-tech/tc-common-tutorials/tree/master/docker/direct-app about how to build, deploy and run direct-app locally.
- Please check ap-challenge-microservice.zip/docs/Deployment Guide.docx about how to run the service and test with the API.

 

Final Submission Guidelines

- Code changes to fix the problems
- Updated swagger.yaml file
- Update the Deployment Guide and Verification Steps

ELIGIBLE EVENTS:

2017 TopCoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30055826