Reference no: EM133605795
For this you will be creating a movie browsing app similar to Flixster. This is a two-part project. For this initial portion, you will use hardcoded Movie data models to display mocked data. You will add networking capability in the second part.
For the lab portion, we found our hardcoded information by using the Tunely API and copying the information over. For the assignment, we will use The Movie Database API. We can use this endpoint to get some hardcoded data, but feel free to look up your own.
Goals
By the end of this assignment you will be able to...
Use table views and custom table view cells to display a list of arbitrary data to the user
Required Features
Users can see a customized app icon and launch screen
Use AutoLayout to properly lay out the UI in any orientation/device size
Movie List - Displays at least 5 different movies in a table view
Movie Details
Stretch Features
Allow users to also view the movies in a collection view
UI changes to make your application unique...background changes, text font, colors, unique buttons, etc.
Hints
How do I use a table view?
Review the lab which talks about table views. Also have a look at the CodePath table view guide here.
How do I enable automatic row heights in my table view?
Make sure that your table view cell has the proper constraints for iOS to infer the cell height.
Set tableView.rowHeight = UITableView.automaticDimension in viewDidLoad of your view controller to set the row height to automatic.
How do I use a collection view? (Stretch feature, not required)
Collection views are similar to table views in the way it uses delegation to dictate what items to show and what they should look like. See the CodePath guide here.
How do I enable a user to see both my collection view and table view? (Stretch feature, not required)
You should add the collection view to a separate UIViewController and wrap the two view controllers that have the table view and collection view in a UITabBarController. This will allow the user to select which view controller they want to see. See the CodePath guide here.
Add the collection view to a separate view controller
Wrap the two view controllers that contain the table view and collection view inside of a UITabBarController
Users can view the title, full description, backdrop image, vote average, vote count, popularity
Users can view the title, poster image, partial description of each movie
Users can tap into a cell to view more information about the movie
Note: For this part of the project, you may use fake/hardcoded Movie objects for now
You must use remote (non-local) images in your hardcoded data models. Preferrably, although not required, also use Nuke installed via Swift Package Manager (as done in the lab) to handle fetching of images.