• Compete
  • Learn
  • Community
ico-magnifying_glass

    PRIZES

    1st

    $450

    2nd

    $200

    Register
    Submit
    The challenge is finished.
    Show Deadlinesicon-arrow-up

    Challenge Overview

    Appirio uses a Salesforce based system called CMC to manage epics, stories and issues.  The Serenity project (new topcoder challegne engine) has been managing all of its tasks in Github (https://github.com/appirio-tech/lc1-project).  This has made integration to our planning and QA process difficult for the rest of the team.  We would like to continue to work individual issues in Github but also track progress in CMC.

    To accomplish this goal, we have decided to create stories and issues in CMC, then push relevant issues to Github.

    The flow of the app should work like this.

    1. Visit web page.
    2. Authenticate to Salesforce and Github
    3. Select which Github project to use
    4. Set filters for searching Salesforce objects (see below)
    5. Click search
    6. Shown a list of Salesforce objects from given criteria
    7. Select which objects to push to Github
    8. Click Push to Github
      1. Update external id field in Salesforce (see below for field)
      2. See below for field mapping

    Custom Salesforce Objects

    Story

    • name: CMC_Story
    • Fields:
      • External_Id__c:  This will be the Github issue id.  If this field is filled out, then it can not be pushed to Github again.
      • Priority__c: a label in Github.
        • ���Picklist field:
          • ���P1
          • P2
          • P3
          • P4
          • P5
      • Description__c:  The body of the issue
      • Name: This is the Salesforce autonumber S-{0}.  This would be pre-pended to the Github title.
      • Status__c: This is the status of the issue.  This should be a filterable item.
        • ���Picklist field:
          • ���Requested
            Backlog
            Planned
            In Progress
            Blocked
            Ready for Tech Review
            Dev Complete
            Ready for QA
            QA In Progress
            QA Complete
            Ready for UAT
            UAT Complete
            Complete
            Cancelled
      • Story_Name__c: The title of the issues.
      • Status_Notes__c: Text Area(255).  Filter when it equals "push to Github".  Once the filed is pushed to Github, update this field with the link to the Github issue.

    Issue

    • name: CMC_Issue
    • Fields
      • External_Id__c:  This will be the Github issue id.  If this field is filled out, then it can not be pushed to Github again.
      • Priority__c: a label in Github.
        • ���Picklist field:
          • ���P1
          • P2
          • P3
          • P4
          • P5
      • Description__c:  The body of the issue
      • Name: This is the salesforce autonumber I-{0}.  This would be pre-pended to the github title.
      • Status__c: This is the status of the issue.  This should be a filterable item.
        • ���Picklist field:
          • New
            Backlog
            Planned
            In Progress
            Blocked
            Ready for Tech Review
            Dev Complete
            Ready for QA
            QA In Progress
            QA Complete
            Ready for UAT
            UAT Complete
            Complete
            As Designed
            Duplicate
            Unable to Reproduce
            Reopened
      • Story_Name__c: The title of the issues.
      • Status_Notes__c: Text Area(255).  Filter when it equals "push to Github".  Once the filed is pushed to Github, update this field with the link to the Github issue.

    Requirements

    • The Body of the Github issue should be pre-pended with: "CMC: {Link to Salesforce object}"
    • Please make the application in NodeJS and AngularJS.
    • Please make the application deployable to Heroku.
    • Please provide documentation of all configuration
    • Please provide documentation of setup and deployment

    Final Submission Guidelines

    Please submit your code as a zip file.  Please do not include the node_modules folder.

    Reliability Rating and Bonus

    For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
    Read more.

    ELIGIBLE EVENTS:

    2015 topcoder Open

    REVIEW STYLE:

    Final Review:

    Community Review Board
    ?

    Approval:

    User Sign-Off
    ?

    CHALLENGE LINKS:

    Review Scorecard