Marvel Characters App With Swift

MarvelCharacters App

Features

  • List Marvel Characters
  • Show marvel character detail screen
  • Search characters using starting name
  • Handling Empty state in Character list
  • Show Comics details from Character Details

Tech

Explanation why not using /v1/public/characters/{characterId} endpoint to show Character details

Reviewing both enpoints I just notice that this endpoint provides same information we have already when /v1/public/characters is parsed, so is redundant and not eficient in terms of data load to call this endpoint to bring data we have already in first place.

Architecture

I used Model View Presenter with coordinators (MVP-C) to handle navigation, improving testability and overall readability of Code.

Dependencies

SDWebImage For Image Async load
DZNEmptyDataSet For Empty State handling
PullToRefreshKit For continous characters loading 

Tests coverage

All UI tests passing (3)
All Unit tests passing (31)

Unit Tests 49.8%
UI Tests 74.0%

License

MIT

GitHub

View Github