Marvel-heroes - Marvel Heroes App Built with Swift

Overview

Marvel Heroes


Marvel Heroes repository based on Marvel API https://developer.marvel.com/docs

Requirements

  • iOS 13.0+
  • Xcode 12.x

Installation

CocoaPods

  • Add SDWebImage pod to load images asynchronusly and save them on cache.
  • Add SwiftyJson to parse json response to swift models quickly.
pod install

Features

  • Connect to Marvel API with properly authentication (see Config/MSConfig.swift and Service/MSUtils.swift)
  • Service folder manage two request to get the API info, with the first list call we already have all needed data but I prefer separate the second detail call. Also I decide parse only used data in MSCharacterLite to improve the perfonmance. In the big Entity (MSCharacter) there are the rest fields.
  • The project uses VIPER architecture to modularize the code by screens, CharacterList and CharacterDetails. The Entities are in Service folder but the rest inside of Modules.
  • The views are loaded by Storyboards with Autolayout.
  • When the app finish to start, the CharacterList module is loaded. In this screen, we can see a collection view with Marvel's Heroes list, showing image and name. This images has not the same aspect ratio between them, so I decide to use AspectFill on the image to give them more uniformity.
  • When any cell is selected, the character detail is loaded in a new pop up, when we can see the detailed information about his Comics, Series, Stories, Events and Links.
  • Also, I write some quick unit MSService class test (using real service).

Screenshots

Next steps

  • Add pagination to CharacterListView would be necessary to access to entire information. Now the service return only the twenty first results.
  • Add unit test to rest of the code (Modules folder).
  • Add more SOLID architecture to isolate parts of code, like the Entities of the Service, which are used even by the views now.
  • Improve UI to add loading indicators and many more.
You might also like...
Basic (simple) App for MacOS with simple functionality
Basic (simple) App for MacOS with simple functionality

Test Mac App Basic (simple) App for MacOS with simple functionality General Details Build : 1.0 Author Alias : gonewithharshwinds Brand : ADV Descript

Bank-Test - MVVM List-Details App using combine

Bank-Test MVVM List-Details App using combine Pods used in this Task Moya with A

Tapper - simple app for iOS and iPadOS allows a user to tap a button as many times as possible in 20 seconds
Tapper - simple app for iOS and iPadOS allows a user to tap a button as many times as possible in 20 seconds

Tapper Table of Contents Description Screenshots Installation Usage Code Contact

Mooviely - Mooviely Basic App for IOS Test

Mooviely Mooviely Basic App for IOS Test. Anasayfa Bu sayfa açıldığında ekranın

Challenge app for Moises.ai iOS Developer position

CSGOTV Description Challenge app for Moises.ai iOS Developer position For this challenge you have to implement an app to display all CS:GO matches in

Network testing for Swift

DVR DVR is a simple Swift framework for making fake NSURLSession requests for iOS, watchOS, and OS X based on VCR. Easy dependency injection is the ma

This is a Swift port of Ruby's Faker library that generates fake data.
This is a Swift port of Ruby's Faker library that generates fake data.

This is a Swift port of Ruby's Faker library that generates fake data. Are you still bothered with meaningless randomly character strings? Just relax

A Matcher Framework for Swift and Objective-C

Nimble Use Nimble to express the expected outcomes of Swift or Objective-C expressions. Inspired by Cedar. // Swift expect(1 + 1).to(equal(2)) expect(

PinpointKit is an open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots using a simple gesture.
PinpointKit is an open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots using a simple gesture.

PinpointKit is an open-source iOS library in Swift that lets your testers and users send feedback with annotated screenshots using a simple gesture. F

Owner
null
Displays list of Marvel Characters for iOS

Marvel Features: Displays list of Marvel Characters Displays detail of selected Marvel Character. Screenshots of application: Installation: Dependecie

null 0 Jan 17, 2022
iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase.

SnappyTestCase iOS Simulator type agnostic snapshot testing, built on top of the FBSnapshotTestCase. Why? Snapshot testing helps to deliver views that

Tooploox 15 Oct 11, 2019
I built this application with unit testing and test-driven development to understand TDD theory and practice

TestDrivenDevelopment Description I built this application with unit testing and test-driven development to understand TDD theory and practice, to wri

null 1 Dec 21, 2021
Implementing and testing In-App Purchases with StoreKit2 in Xcode 13, Swift 5.5 and iOS 15.

StoreHelper Demo Implementing and testing In-App Purchases with StoreKit2 in Xcode 13, Swift 5.5, iOS 15. See also In-App Purchases with Xcode 12 and

Russell Archer 192 Dec 17, 2022
View your app on different device and font sizes

Sizes reduces the time it takes to evaluate all of our apps possible device sizes, orientations and font combinations. With Sizes we'll avoid launchin

Marcos Griselli 1.2k Oct 27, 2022
Fastbot is a model-based testing tool for modeling GUI transitions to discover app stability problems

Fastbot is a model-based testing tool for modeling GUI transitions to discover app stability problems. It combines machine learning and reinforcement learning techniques to assist discovery in a more intelligent way.

Bytedance Inc. 446 Dec 29, 2022
This is a simple test app getting data from network to practice a tad bit.

test This is a simple test app getting data from network to practice a tad bit. Start Nothing fancy, no CocoaPods, just clone and run! Architecture Ju

null 1 Oct 9, 2021
This repo holds the code for Dubizzle & Bayut test App

DubizzleClassified This repo holds the code for Dubizzle & Bayut test App About App This is a simple app which basically fetches item list from the gi

Ghassan 0 Jun 2, 2022
Fake iPhone real devices location using this small app

Project Title iPhone IP Spoofer for Real Devices. Description IP, or internet protocol, is a string of numbers that identifies your iPhone, iPad, or w

Ebahim Mostafa 4 Sep 20, 2022
Switchboard - easy and super light weight A/B testing for your mobile iPhone or android app. This mobile A/B testing framework allows you with minimal servers to run large amounts of mobile users.

Switchboard - easy A/B testing for your mobile app What it does Switchboard is a simple way to remote control your mobile application even after you'v

Keepsafe 287 Nov 19, 2022