This is an iOS application for displaying the latest box office movies, upcoming movies and new arrivals using the RottenTomatoes API.
Time spent: 16 hours spent in total
Completed user stories:
- Required: User can view a list of movies from Rotten Tomatoes.
- Required: User can click on a movie in the list to bring up a details page with additional information such as synopsis
- Required: Poster images must be loading asynchronously.
- Required: User can view movie details by tapping on a cell
- Required: User sees loading state while waiting for movies API.
- Required: User sees error message when there's a networking error.
- Required: User can pull to refresh the movie list.
- Optional: Customize the navigation bar
- Optional: Added navigation bar button for "New Arrivals"
- Optional: Customize the highlight and selection effect of the cell.
- Optional: Add a search bar
Notes:
- Spent some time on trying to use poster images as a background for table view row and show movie info on poster. But as posters also have text, movie info was not very readable. Hence switched to normal poster.
- Tried implementing tab bar control but it was tricky as using one MovieListVC to show all 3 movie lists.
- Created two instance of same vc for 2 tabs, but only second tab was showing data and first tab view was empty
Libraries used:
- cocoapod
- AFNetworking
- MBProgressHUD
- DejalActivityView
Walkthrough of all user stories:
GIF created with LiceCap.