Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

Enhance the provided Estimates application Scope tab to allow the user to upload a csv file to bulk load the page with data.  The Scope tab can differ for the different estimate types and this solution must work for each one.  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.

Challenge Details

Video 1: http://screencast.com/t/Nw96jYSF7yV

Video 2: http://screencast.com/t/1RhJ4jmQRuG

Summary

Add an "Import" button to the Scope tab.

Allow importing of a csv file for select columns (see video 2 above).

Provide information to the user so they know what to name their columns in the csv file so it can be uploaded successfully.  One possible solution would be a template version of the csv file with correct column headers that can be downloaded by the user.  Another possibility would be to map the columns of the uploaded csv to the columns in the table via some sort of user interface.

Provide the ability to select the functional area (subtabs on the left of the screen) for each row of imported data.  This could be just another column of data for each row that the user needs to input the correct data value (but this needs to be clear and easy for users to do) or it could be a wizard like solution in which the user views each row of imported data and selects the functional area for each row.

SETUP

Download the .zip file with the code.  Extract.  launch on a local webserver.
 
Firebase Setup:
1.  Go to www.firebase.com and sign up if not already done.  Create a firebase.  Copy it's url. 
2.  Import firebase_start.json (attached in forum) to your firebase for some starter data.
3.  Edit cmc/src/wm/estimates/index.html line 21 to go to your firebase url you copied in step 1 above.
 
Launch webserver (any web server, apache, tomcat etc) and navigate browser to:
http://localhost/cmc/wm/estimates/index.html



Final Submission Guidelines

Solution must be written in angular.js and javascript.

Any external libraries not included require permission to use.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30038981