/NewsAppSwiftMVVM

SmartMVVMNews is an example app exploring RxSwift 4, MVVM, Swift 2.

Primary LanguageC++MIT LicenseMIT

NewsAppSwiftMVVM is an example app exploring RxSwift, MVVM, Swift 2.

NOTE: This is work in progress.

Screenshots

20160111_23_35

Setup

The app uses CocoaPods for handling third-party dependencies. To build the app, simply clone the repository and then run pod install.

Version

  • 1.2: A lot has been refactored, and a lot of protocols and protocol extensions has been added. Watch app should now work without the phone.
  • 1.1: Apple Watch support using watchOS 2.
  • 1.0: Initial version. Supports Xcode7.3+ and Swift 2.

User Features

  • View list of articles
  • Pull-to-refresh any list in the app
  • Get alerts about network and server errors
  • Enjoy custom fonts and colors
  • See animated list changes

Code Checklist

  • Move base URL to Settings for easy customization
  • Cancel network requests when the associated view becomes inactive
  • Write tests for models
  • Write tests for services
  • Write tests for viewmodels
  • Write tests for viewcontrollers
  • Write tests for custom cell
  • Write tests for helpers and store
  • Write models
  • Write view models
  • Write tableviewcell
  • Write viewcontrollers
  • Make backend in Swift and move to this repo.

Useful resources

sample for MVP

sample for refactoring

sample for testing(XCTest)