Challenge Overview
INTRODUCTION
This is the seventh in a series of iOS challenges to develop a mobile front end for submitting issues to a JIRA ticketing system. This challenge will focus on updating the existing project to incorporate the final app design and functionality.
REQUIREMENTS
You’ll be updating the Xcode workspace to apply the final app design for both iPhone and iPad as outlined below. Functionality for communicating with JIRA was implemented in previous challenges and is part of the existing codebase. Use this as reference and a starting point for the requirements of this challenge.
All designs are located in the Resources repository here. Handset designs have "M" prefixes, tablet designs have "T" prefixes. For logging new issues, you must use the ADQA Project (not Test Project).
Log Issue Screens
-- See all designs with “Log Issue” in the file name
-- Use the existing functionality for displaying issue logging screens based upon the tabs that come back from the API
-- The titles of the tabs from the API correspond to the titles and subtitles that appear on screen
-- Large white label is the tab title
-- Smaller grey label is any text within [ ] in the tab title - Ex. Where viewing occurred [Part 1]
-- The exception is a tab title of [No Title] - this indicates the screen does not have either of the above mentioned labels visible
-- Field titles may contain text within [ ]
-- The text contained here should be used as a tooltip, linked by a ? after the title
-- Ex. Ad repetition [Same ad more than 2x an episode]
-- See design 13 M_Log Issue 2
-- Field titles may contain text within { }
-- The text contained here should be used as a description label under the field
-- Ex. Network {e.g. USA Network}
-- See design 12 M_Log Issue 1
-- Previous and Next buttons at the bottom should navigate between the issue logging screens
-- Cancel button at the bottom should navigate to the Log History screen
-- Display the bottom progress indicator based on the current/total number of screens
-- Display the completed message following successful submission of an issue
Log History Screen
-- See designs 29 M_Log History, 30 M_Log History_Sort, 31 M_Log History_Filter
-- On load, use the JIRA library to pull all issues that were reported by the currently logged in user and cache locally to Core Data in the background
-- Show a progress indicator while the background process is running
-- Reload the view once the local cache has been updated
-- Sorting and filtering functionality should work in tandem to display the list of issues
-- Default view should display all issues, sorted descending by report date
-- Tapping an issue should navigate to the Log Detail screen
Log Detail Screen
-- See design 32 M_Log Details
-- Display all details from the issue as laid out in the design from the local cache on load
My Profile Screen
-- Remove the entire My Statistics area from this view (e.g. no graphs)
Sign In Screen
-- Navigate to the Log History Screen after the user signs in
SETUP
-- Use this form to add yourself to the Hercules Werbung team on Gitlab if you are not already a member
-- Once added to the team, fork the repository if you haven’t already and work off of the PW_07 branch
-- Add harrywynn and lazybaer as members of your forked repository with Reporter access
-- View the README in the repository for API access specifics and resources
-- All designs are located in the Resources repository here
Final Submission Guidelines
-- Updated Xcode 7 workspace with all screens and functionality as outlined above
-- Code must compile against iOS SDK 9.0 with a deployment target of iOS 8.0
-- Develop for all device size classes, iPhone is locked to portrait orientation, iPad is locked to landscape
-- Use storyboards for all views and navigation
-- All code should be written in Swift
-- Include unit tests where appropriate for coverage of the challenge requirements
-- Upload your source project as a zip
-- Include your Gitlab username and URL of your forked repository in your documentation
-- User with the winning submission will be required to do a merge request in Gitlab