Skip to content

A SwiftUI-App that lists the houses in A Song of Ice and Fire / Game of Thrones

Notifications You must be signed in to change notification settings

matthiaszarzecki/SwiftUIApiOfIceAndFire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SwiftUI Api Of Ice And Fire

Bitrise Status Maintenance Ask Me Anything ! License: CC BY-SA 3.0 Twitter Follow Mastodon Follow Youtube Subscribe

A SwiftUI-App that lists the houses in A Song of Ice and Fire, taken from the API of Ice And Fire. Also created separately in Flutter for iOS and Android.

_ _ _

Contains

  • SwiftUI
  • Combine-Subscriptions
  • Native API Calls with generic types
  • Pagination
  • Nested API-Calls
  • Widgets
  • Graceful Failure - elements that do not exist (yet) are not shown instead of showing empty elements or errors
  • MVVM Architecture
  • Detailed House-View
  • Detailed Character-View
  • List of all Houses
  • Elegant in-view error-handling on SingleHouse and Character Views (no popups!)
  • Continuous Integration with BitRise
  • Unit-Tests
  • Detailed comments
  • Custom color-parser to create icons per house from text-only description of the Coat of Arms
  • Small Screen Support
  • Extensive SwiftUI Previews
  • Skeleton Loading Views
  • Major Houses Display
  • Downloader-Protocol for unit-test mocking
  • SwiftLint
  • Custom SwiftLint rules
  • URLComponents
  • SwiftUI Animations

TODO

  • Improved Accessibility Features
  • Nicer Widgets
  • Open House-page on tap on widget
  • Timeout on Main Screen
  • Tap tabbar icons to reset views
  • More Unit-Tests
  • More Unit-Tests for ViewModels
  • Better error-handling in combine-call
  • More ViewModels in smaller views
  • Add timeout error case, move timeout to api calls

Nice to Have

  • SwiftFormat
  • Fastlane function to create screenshots for this readme
  • CodeCov integration in CICD
  • Unit-Testing Views with ViewInspector Plugin
  • Monkey-Tests
  • Fetch nested data for Characters
  • UI-Tests
  • Dark Color Scheme & scheme switching
  • Automated tests for error-handling
  • Replace generic native calls with combine-subscriptions
  • Data Caching (Realm or CoreData)
  • Welcome Tab with House of the Day View
  • Async Await Calls
  • Apple Watch integration

See Also

Attribution

  • Images for Great Houses taken from the Wiki of Ice and Fire using CC-BY-SA 3.0 License
  • Dragon Icon created by Ramy Wafaa

Created by Matthias Zarzecki, 2021-01

About

A SwiftUI-App that lists the houses in A Song of Ice and Fire / Game of Thrones

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published