Marvel Client


iOS 15 Client for Marvel API with the following features:

  • MVVM
  • Abstract Network Layer
  • SwiftUI
  • Async/Await
  • Theme Switcher
  • Core Data persistence with Async/Await approach + One To Many Relationship
  • DAO, Repository and Dependency Injection Design Patterns
  • Unit Testing: Network Layer, CoreData DAO, Repository, JSON Decodable


  1. Register in
  2. Replace Private and Public Key variables in /APIService/Router.swift
  3. Install Swiftlint via brew install swiftlint
  4. Xcode 13 should be installed


Marvel Client

Dependencies installed via SwiftPM:

View Use Cases

  • Get Heroes
  • Pagination
  • Delete Hero via Swipe
  • Delete All Heroes
  • Make Favorite Heroes
  • Sort Heroes by Favorite & Name
  • Pull to Refresh
  • Loading State
  • No Internet Connection Pop-Up
  • Empty State
  • Persistent Data



View Github