Key Information

Register
Submit
The challenge is finished.

Challenge Overview

This is the first in a series of data structure Topcoder challenges relating to the timeline feature of the Estimates application. The app allows users to create an estimate for an upcoming project by defining the number of weeks, resources(people), and hours per week per resource.  Enhance the provided Estimates application data structure from "weeks" being stored in a JSON blob to individual week records.   Database insert, update, delete, and query functions are provided to make your task easier! The goal of refactoring is to allow more detailed reporting from our Salesforce system.

Background: We have an existing HTML/Bootstrap/AngularJS application, "Estimates", that allows the user to create an Estimate for a project they are scoping out.  It allows the user to enter Scope line items and build a Timeline using a resource list and rate-card.  The backend data storage used is Salesforce.com but we have implemented a library that intercepts all REST API calls and directs them to Firebase.com.

Current Timeline data model walk-through video.

Challenge requirements video.

As seen in the video the fields on the new CMC_Estimate_Week__c object have slightly different names.  Please refer to the timeline-editor-controller.createWeek() function and use the names provided there.  Here is a mapping between the old names and the new names for this object:  google spreadsheet

What should I test to make sure it all works?

  • Timeline Tab
    • Manage Timeline Page
      • create weeks
      • update weeks
      • delete weeks
    • View Page
      • should show the number of weeks correctly
    • Add/Edit Resource
      • number of weeks should show correctly
      • add a resource, remove some weeks, edit resource should have correct number of weeks
  • Summary Tab
    • I have reviewed the code and do not think the weeks refactor will actually require any changes here.  The pricing service mentioned in the video primarily queries Resources and Ratecard information which should not be impacted by this work.  Let me know if you find differently.

 



Final Submission Guidelines

Setup:

Follow the included Readme.md file at the root of the included files.

Coding Guidelines:

Follow the coding-guidlines.md file at the root of the included files.

Solution is preferred to use Angular.js/javascript wherever possible and Twitter Bootstrap for styling elements.  Other libraries not already included in the client/src/wm/estimates/index.html file should request to be used via the forum.

ELIGIBLE EVENTS:

2015 topcoder Open

REVIEW STYLE:

Final Review:

Community Review Board

Approval:

User Sign-Off

SHARE:

ID: 30044998