Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview
 
Our partner is developing a state-of-the-art tablet based sales and order processing tool. Their sales team will be managing client visits, tasks, calendars, notifications, and order processing all through this tool. The platform is the Apple iPad. Want to learn Swift? Great - why not get paid for it, we need your help! There will be a long series of challenges over the coming weeks leading to the final product, so get involved now!
 
Setup
 
In order to obtain the code source to modify for this challenge, you will need to be added to the UNI-Mobile github repository. Make a request for access in the forums.
 
This contest will not require you to do any direct work with the Salesforce Mobile SDK, but it is a required element of the overall application. As such you will need to be able to login to Salesforce the first time you run the application in order to access the other components of the application. The credentials are as follows:
  • Username
    • uni1@topcoder.com
  • Password
    • community123
 
Again, you will not be required to utilize the Salesforce Mobile SDK for any of the customization you are doing in this challenge. But the application leverages it, so logging in is essential.
 
This contest largely requires that you make modifications, some minor and some more extensive, to existing UI elements within the application. It will also require the creation of new UI elements. You will not be required to implement any REST calls to directly manipulate data, but we will ask that you fake the data for the purposes of demonstration.
 
Contest Requirements
 
Changes to the Account Screen - Account Info Healthcare Info Subsection
 
The first major change is with the Account Info portion of the Account screen. There is a new set of fields that need to be added as a section that shows dependent upon if an Account is a Health Care specific account or not. When not, it should display as it does now, when it is, these fields should be shown:
  • # of Beds
    • Integer
  • Hospital Type
    • Picklist Value
      • “Type 1”
      • “Type 2”
      • etc.
  • GPO Affiliations
    • Multiple Values , separated
  • HC System (Network) Name
    • Text Value
  • Operating Income (Annual Rev)
    • Currency
  • Current Clean Rating
    • Picklist
      • A
      • B
      • C
      • D
      • F
  • Previous Clean Rating
    • Picklist
      • A
      • B
      • C
      • D
      • F
  • Clean Rating National Average
    • Picklist
      • A
      • B
      • C
      • D
      • F
  • Clean Rating State Average    
    • Picklist
      • A
      • B
      • C
      • D
      • F
The visualization of this new section is depicted here:
 
    
                                            
Changes to the Account Screen - Notes & Attachments
 
With this challenge, Notes will no longer contain attachments, so we need to modify the UIs as such. Attachments will instead be their own item that are associated with the account.
 
Standard View:
  • Notes should no longer have a paperclip.
  • Attachments should be rendered with these fields:
    • Paperclip indicator on the right
    • Attachment Name
    • Attachment Date
    • Attachment File Name/URL
  • Notes should be expandable. Attachments should not.
  • Photo/Video Attachments, when tapped should bring up a Modal View that will later be used to show the content of that attachment.
  • Google Doc Attachments, when tapped use UIApplication.sharedApplication().openURL to open “googledrive://{Attachment.DocumentURL}”
  • Add a Filter beside the +New button.
    • Options should be:
      • “All”
      • “Notes Only”
      • “Attachments Only” (All attachments)
      • “Photos/Videos Only”
      • “Google Docs Only”
    • When filter is selected show only objects of each different type.
  • When +New is Tapped show a UIPopover with these options
    • “Note”
    • “Photo/Video Attachment” (should open New Photo/Video Screen)
    • “Google Doc Attachment” (should open New Document screen)
  • Modify New Note screen, get rid of the attachments section and button.
  • Create New Document screen,
    • Display two fields:
      • File Name
      • URL of Document in Google Drive
    • When saved, add an attachment of type GoogleDoc to the Notes & Attachments section.
  • Create New Photo/Video screen,
    • Display 1 Field:
      • File Name
    • Display 1 Button:
      • +Attachment
      • When tapped, display options in a UI Popover:
      • “From Camera Roll”
        • When selected display a UIImagePickerController with the source type set to PhotoLibrary.
      • ”Take Photo/Video”
        • When selected display a UIImagePickerController with the source type set to Camera

 
Changes to the Account Screen - Miscellaneous
  • In the Contacts expanded information:
    • Add a button “View Campaign History
      • When tapped display a modal pointed at Salesforce
  • In the Opportunity & Quotes section:
    • On the Accordion Header, display a badge indicating the # of quotes attached to any opportunities on the account.
    • When Active, Display “Opportunities & Quotes ({# of Quotes})”
  • Expanded Opportunity
    • Display new button “Clone Opportunity”
      • When tapped create a new Opportunity in the Opportunities and Quotes section with the same fields and values, but with the name set as “{Opportunity Name} (Clone)”
      • If the user wants to change this, they will have to edit the Opportunity.
    • Display new button “Go to Fit Session”
      • When tapped open the FitSessionViewController
 
General Guidelines
 
The Data Model objects referenced in this challenge should all be created in the Model subproject within the UNI Repository. If you have any questions, please ask in the forums, we will help you determine if additional objects not pre-built may be necessary.
 
“?” icons will trigger tooltips (style defined previously) with two sentences of lorem ipsum (to be edited later).
 
When removing a row from a table, use a fade animation.
 
For this challenge if you would like to pull in third party form generation frameworks, that is allowable in order to satisfy any requirements asking for ease of configuration or reusability. If you do incorporate 3rd party frameworks for the construction of these forms, please ensure that these frameworks are Open Source software, and are available with an MIT or similar distribution License. Code submissions that use 3rd party frameworks will be judged based on the ease of use and extensibility of those frameworks.  
Environment Setup
 
GIT: The project will use a code repository at Github, please see additional details and participant responsibilities under Submission Guidelines.
 
Xcode: All code development should be done in Xcode 6.1.1 and tested in the simulator.
 
Framework: Code should be developed with the Cocoa Touch framework using Swift and must compile against iOS SDK 8.1 with a deployment target of iOS 7.0.
 
Get Started
 
- Request access to the project in the challenge forums
- Fork this project: git@github.com:cloudspokes/UNI-mobile.git
- Checkout this branch: https://github.com/cloudspokes/UNI-mobile/tree/workstream6-accountscreens
- Write and submit your code as a zip file


Final Submission Guidelines

Submission Guidelines
 
- Cocoa Touch framework Xcode 6.1.1 project with well commented code
- Code must compile against iOS SDK 8.1 with a deployment target of iOS 7.0
- Upload all source projects as a zip
- After submission phase has completed, make a pull request targeting this branch
- Provide documentation of any special configuration required to run your code.
 
GIT Guidelines and Requirements
 
All code for this project will be maintained at Github. Challenge participants will have to request read-only access to the repository during the challenge and are expected to fork and do their coding on the challenge branch. Once contest submission closes, the project owner will update the code in the challenge branch to reflect the current state of development. The winner of the challenge will then be required to update their fork to the current state of the development repository and will be responsible for handling merge conflicts when updating their fork. They will then create a pull request.
 
 

ELIGIBLE EVENTS:

2015 topcoder Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30048560