Skip to content

Latest commit

 

History

History
37 lines (26 loc) · 1.71 KB

README.md

File metadata and controls

37 lines (26 loc) · 1.71 KB


Build Status Code Coverage

MarvelAppSearch Demo App

Requires an api key from https://www.marvel.com/signin?referer=https%3A%2F%2Fdeveloper.marvel.com%2Faccount in xcconfig file

App to Search and Favourite Marvel Characters featuring:

  • Search for characters (searches debounced every 400ms to reduce API use)
  • Simple in-memory cache for images
  • Favourite characters cached and retrieved using UserDefaults and encoded JSON
  • Link outs to favourite marvel characters
  • Swipe to delete from Favourites list

Architecture:

  • MVVM-C
  • RxSwift used. It should be easy to bridge to Combine but I find testing Rx easier, at least until Combine has better testing and virtual time support.
  • UIKit. Should be fairly easy to jump to SwiftUI and Combine.
  • SnapshotTesting for views
  • Tests colocated in project folder to make them first-class citizens and highlight missing test cases
  • CocoaPods used over Carthage or SPM due to ease-of-use and a bug in SPM making RxTest difficult to use.
  • Pods included in repo to make it easier to clone and build for timebeing

Todo:

  • loading state and network activity indicator
  • error state / handling for failed network calls