Challenge Overview
INTRODUCTION
We are working on an iPad application for a well known client, Anheuser-Busch! This application will be used by their “The High End” Field Sales Representatives selling premium Anheuser-Busch products (Stella, Goose Island, Shock Top, etc). This second challenge will continue the conversion of the application from Objective-C to Swift.
RESOURCES
The Documents folder in the Resources repository contains numerous reference materials for development. For this challenge, pay special attention to the Assembly Spec. It contains a full narrative on all relevant application flow, user stories, etc.
REQUIREMENTS
You’ll be converting the existing application from Objective-C to Swift. The existing Xcode project in the repository already has the functional Salesforce login and REST API calls/model objects implemented. Where appropriate, follow the same project/code structure and naming conventions as the Objective-C project. Also where appropriate, follow the guidelines in the Objective-C project's README.
For this challenge, focus on the following areas:
Main Menu
-- Opened from the circle list icon available on each screen
-- Stub functionality for Accounts, Wholesaler and Content (not covered in this challenge)
-- Add “Import Apple Calendar” above Logout
-- See page 10 in the assembly spec for further details
Dashboard
-- Implement all subviews - Calendar, Overdue Action Items, PFP and My Objectives
-- See pages 11 - 14 in the assembly spec for further details
Calendar
-- Implement all views for Day/Week/Month and event management
-- Add import feature for pulling in calendar events from the device - 1 way sync only
-- Use Google Maps SDK for maps when necessary
-- See pages 17 - 29 in the assembly spec for further details
Action Items
-- Implement all filtering capabilities and Action Item management
-- See pages 63 - 68 in the assembly spec for further details
PFP
-- Implement only the points area of the screen - the others should remain as placeholders
-- See pages 15 - 16 in the assembly spec for further details
SETUP
-- See the challenge forums for details on adding yourself to the GitLab group
-- Fork the ABHE repository and use the tc_daily branch for the basis of development
-- Fork the ABHE-Swift repository and work off of the tc_swift_2 branch for challenge development
-- Add harrywynn as a member of your forked repository with Reporter access
-- All necessary UI elements can be found in the Objective-C project on the tc_daily branch; sources are located in the Resources repository’s Designs folder
-- Documentation can be found in the Resources repository’s Documents folder
Final Submission Guidelines
All submission are required to include a basic text file including only the following information:
"I certify that I am 21 years of age or older. My birthday is DD/MM/YYYY"
Please fill in the date with your actual birthdate.
In addition to the above requirement:
-- Updated Xcode 7.2 project with all screens and functionality as outlined above and in the assembly specification document
-- Code must compile against iOS SDK 9.2 with a deployment target of iOS 8.0
-- Develop for iPad size classes, with orientation locked to landscape
-- Use XIBs and auto layout for all views and navigation
-- Re-use existing ones where appropriate
-- All code must be written in Swift and be well commented
-- Upload your source project as a zip