Skip to content

hacktoolkit/htk-ios-RottenTomatoes

Repository files navigation

htk-ios-RottenTomatoes

This is a basic Rotten Tomatoes (read-only) client.

CodePath iOS Bootcamp September 2014 - Week 1 Project

GIF Screen Cap

Here's an animated GIF (made with LiceCAP) of what it looks like:

Download and Build Instructions

  • Clone the repository
  • Install CocoaPods
    • sudo gem install cocoapods
  • Install Pods
    • pod install
  • Update/initialize the hacktoolkit-ios_lib submodule (temporary step until CocoaPods supports Swift source files natively)
    • git submodule init
    • git submodule update
  • Set up API keys
    • Create a secrets.xcconfig config file based on secrets.xcconfig.template
    • Obtain an API key from the Rotten Tomatoes API page and add the key to secrets.xcconfig
  • Run it!

Features (User Stories)

Time spent: 15+ hours

Completed:

  • User can view a list of movies from Rotten Tomatoes. Poster images must be loading asynchronously.
  • User can view movie details by tapping on a cell
  • User sees loading state while waiting for movies API. Using MBProgressHUD. (Other alternatives were considered among 3rd party libraries at cocoacontrols.com)
  • User sees error message when there's a networking error. (Without using UIAlertView, because it is crappy). Sorta working, using TSMessages
  • User can pull to refresh the movie list.

Optional user stories completed:

  • All images fade in. Achieved by using UIView.animateWithDuration(...)
  • For the large poster, load the low-res image first, switch to high-res when complete. Achieved by using self.fullPosterImage.setImageWithURL(NSURL(string: movie.originalPosterUrl), placeholderImage: self.movieCellSender!.thumbnailPosterImage.image)
  • All images should be cached in memory and disk (in order to have images load immediately upon cold start). In progress; have an in-memory dictionary cache of url String : UIImage and need to figure out how to do that.
  • Customize the highlight and selection effect of the cell. (Turned off the default)
  • Customize the navigation bar. (Changed text and background colors, opacity)
  • Add a tab bar for Box Office and DVD. Switches between the two using a common ViewController by embedding in Container Views. Couldn't figure out how to change the color of the tab bar.
  • Add a search bar. Filters movies with titles containing the searchText substring using case insensitive search and UISearchBarDelegate

About

Basic Rotten Tomatoes client

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published