This is the momentarily my most up to date app. I wanted to create a secure crypto portfolio app to easily see my total portfolio value in USD and EUR. But after using several iOS apps, I came to the conclusion that most of the apps are way too complicated with an overload of irrelevant information.
So I decided to take matters into my own hands and create my own crypto portfolio app. That just pulls the current prices from CoinGecko and then uses that price to calculate your portfolio value, which is stored in SwiftData (on device) and synced through CloudKit.
The app isn't connected to any crypto wallet, so it is completely fictitious and safe to use. The app is based on the advanced learning tutorial from the YouTube channel: SwiftFull Thinking.
I've learned to use the combine framework and pull, save and update API data automatically, using publishers and subscribers. I also learned to use SwiftData, which is very easy to use at first, but as you extend models and relationships and do a lot of asynchronous work, you quickly hit a steep learning curve!
Next to that I learned to use StoreKit 2 to manage multiple subscriptions, and with that comes ASO (AppStore Search Optiomization) to actually rank higher in the app searches and get more downloads.
In addition, I learned to use @GestureState to interactively swipe content across the screen. And create the interactive slide-in menu and bottom sheets used in the app.