App running on a (simulated) iPad Mini running iOS 15

This iOS app aggregates blog posts written by SwiftLee (Antoine van der Lee). SwiftLee has a weekly blog on Swift and iOS software development. The app is not published on the app store, but can be retrieved and compiled from GitHub. The app runs on iPhone and iPad.

The aggregator uses a small on-device database containing the metadata (title, date, URLs) of the postings on the SwiftLee site. It does not contain the postings themselves.

When the app launches, the database is updated in background by fetching the SwiftLee website’s RSS feed, passing the RSS through an online RSS-to-JSON convertor, decoding the JSON to memory, and merging the in-memory data with existing data in the database (Core Data, aka sqlite). The database improves app startup times, but also tracks which posts have already been opened by the user and which posts have received stars.

Swift code fragment. The mergePolicy tells CoreData how
new posts should be merged with existing posts in the database.