Requires SwiftUI Requires Combine Requires iOS14 Built with Swift 5 Built with Xcode14 Tested on iPhone 14 Pro

A SwiftUI app that connects to a mock news API. The app uses Combine to handle networking and follows the MVVM pattern.

Custom SwfitUI components implemented:

  • StickyHeaderScrollView: a ScrollView wth a sticky header along with an optional sticky title section.
  • ExpandableNewsCardView: an animated card that can expand to fullscreen, inspired by the cards on App Store.
  • AsyncImageView: a View that asyncronously loads an image, since the project targets iOS14 and the native component is not available.

Animations Demo


screen1 screen2

Available on TestFlight

The app is available for download on TestFlight at this link.


View Github