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 first challenge will focus on the initial 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. For this challenge, focus on the following areas:
Salesforce Login/Authentication
-- Implement the Salesforce SDK and authentication flow - see here for reference
-- Test user accounts can be found in the repository’s README
-- Following successful login, display the welcome screen with the user’s full name
-- See the existing app for UI reference and flow
-- Re-use XIBs where appropriate
Object Model/Web Service Calls
-- Implement all model objects and REST API calls that exist in the current Objective-C version
-- See the Model group in the Xcode project for all necessary classes to convert
-- Include unit tests for all web services
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_1 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:
-- 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
-- All code must be written in Swift and be well commented
-- 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
-- Include unit tests for all web services
-- Upload your source project as a zip