Challenge Overview
INTRODUCTION
This is the second in a series of challenges to develop a report viewing iPad app with an interactive user interface. This challenge will focus on taking the JSON structure created in a previous challenge and using it as the datasource for implementing the screens outlined below.
REQUIREMENTS
You’ll be updating the existing Xcode project with the screens and functionality outlined below. Follow the wireframes for visual guidance during development. The design PSDs are located in the Source directory in the Resources repository. The JSON datasource and supporting PDF reports are located in the Data directory in the Resources repository.
*NOTE* While the wireframes and designs were created for iPhone devices, this app will be built for iPad, portrait orientation only. You will need to adapt the designs to fit on the larger screen.
Dashboard - Initial Navigation
-- See wireframes 1.1.0, 1.2.x, 1.3.x, 1.4.x, 1.6.x
-- Navigating the content begins by tapping on the center circle
-- Two new types of bubble views may appear
-- Circle bubbles: displays current level categories
-- Rectangle bubbles: display individual reports
-- All bubbles should animate into view
-- Bubbles are interactive
-- Tapping and holding them should allow the user to move them around the screen
-- All other bubbles on screen should move in relation to the selected one
-- Center circle should blur behind the new bubbles displayed
Dashboard - Content Navigation
-- Tapping a bubble centers it on screen and animates new bubbles into view
-- Previous bubbles are collapsed with an animation
-- User should be able to pinch the screen to go back one level
-- Returning a level animates the previous bubbles back into place
-- Tapping a category will display bubbles for the next level of data
-- Tapping a report displays a preview of the file
Report Viewing
-- See wireframes 2.0.x, 2.1.x
-- Tapping a report displays the PDF viewer overlay on top of the bubbles or list view
-- Any keywords associated with the report should be displayed at the bottom of the viewer
-- Tapping the top left arrow or swiping right hides the overlay and returns to the previous view
Navigation Bar
-- Display icons for left and right buttons - these do not need to be functional for this challenge
-- Display a breadcrumb trail underneath the navigation bar to display navigation depth
Bottom Navigation
-- 1st button: immediately drills the navigation to the top level, animating out all current views
-- 2nd button: re-centers all bubbles to their original positions
-- 3rd button: displays an overlay with table of all reports for the current level
-- Filter button: not implemented in this challenge
-- Blue toolbar area: display static content in this area
SETUP
-- See the challenge forums for information on joining the GitLab group
-- Once added to the group, fork the repository and work off of the tc_p1 branch
-- Wireframes are available in the Wireframes directory in the Resources repository
-- Design PSDs are located in the Source directory in the Resources repository
-- JSON datasource and supporting PDF reports are located in the Data directory in the Resources repository
Final Submission Guidelines
-- Xcode 7.2 project with all screens and functionality as outlined above
-- Code must compile against iOS SDK 9.2 with a deployment target of iOS 8.0
-- Develop for iPad, with orientation locked to portrait
-- Use storyboards for all views and navigation
-- All code should be written in Swift and be well commented
-- Upload your source project as a zip