TravelOffers is simple one screen application which shows information about travel offers using tab based interface.

The app internally uses next characteristics:

  • Dependency Injection principle
  • VIPER based approach
  • Layer based architecture
  • Core Data to keep all necessary information about offers as result the app is able to work in offline mode
  • Usage size classes and autolayouts as result the app looks friendly in different devices
  • Image loader object to load and keep images in memory and on disk
  • CocoaPods to import CocoaLumberjack logging framework
  • Swift 3 (VIPER module) and Objective-C (core layer and business logic layer)
  • Generamba to generate VIPER module

Skipped scopes:

  • Custom animation effects and custom controls
  • Unit testing
  • Error handling
  • iOS7 supporting (Xcode8 was used as IDE and iOS8 is minimal allowed)
  • Cancellation of network operations