Home

Awesome

ReadingList

ReadingList is a sample application that shows how to create a Web Service Client and the corresponding model layer using Mantle Modeling Framework and the Overcoat AFNetworking extension. Specifically, ReadingList allows you to search for books in the iBooks Store and save them in a local database. It won't get an Apple Design Award, but it is a fairly complete real life example.

<img src="https://raw.github.com/gonzalezreal/ReadingList/master/Screenshots/screenshot-1.jpg" alt="Reading list" width="320" height="480" /><img src="https://raw.github.com/gonzalezreal/ReadingList/master/Screenshots/screenshot-2.jpg" alt="Book detail" width="320" height="480" /><img src="https://raw.github.com/gonzalezreal/ReadingList/master/Screenshots/screenshot-3.jpg" alt="Book search" width="320" height="480" />

Installation

In order to build and run ReadingList, you must install first project dependencies via CocoaPods. To do so:

$ gem install cocoapods # If necessary
$ cd ReadingList
$ pod install

Once CocoaPods has finished the installation, open the generated ReadingList.xcworkspace using Xcode and run the sample.

The Model

The best place to start understanding this sample is the TGRBook class, which models every property the that the application needs to know about a book. TGRBook also implements MTLJSONSerializing and MTLManagedObjectSerializing to allow JSON and Core Data entity serialization respectively.

The Web Service

ReadingList book search functionality is built around the iTunes Search Web Service. TGRBookCatalog is the OVCClient subclass that implements this functionality with a few lines of code.

Other Goodies

ReadingList uses some techniques and patterns that are worth mentioning:

Contact

Guillermo Gonzalez
@gonzalezreal

License

ReadingList is available under the MIT license. See LICENSE.md.