
Set up an organized Xcode project for SwiftCoin by creating feature folders, replacing the content view with a home view, and scaffolding navigation and scroll views for live prices.
Create a top movers UI in SwiftUI for a cryptocurrency app by building a reusable top movers item view inside a horizontal scroll, using VStack, HStack, images, and borders.
Build the all coins list user interface in SwiftUI, with a divider, coin row cells, and a scrollable view showing rank, name, and price.
Fetch real-time cryptocurrency data from the CoinGecko API using a networking layer in SwiftUI, implement a home view model with URLSession, and parse JSON into a usable data model.
Build a coin data model as a Swift struct, decode JSON into an array with optional properties, and handle decoding errors to feed the UI.
bind an observable object with a published coins array, propagate via state and environment objects to all views, and configure a top movers view by sorting by 24-hour price change.
Learn to download coin images in a SwiftUI cryptocurrency app using Kingfisher, integrate image loading for a dynamic portfolio with buy/sell transactions, and enable dark mode for a polished UI.
Learn to format currency and percentages in a SwiftUI crypto app by extending Double with currency and percent formatters, enforcing two decimals. Color positive changes green and negative changes red.
Add dark mode support by creating an item background color and applying light and dark mode colors with 2% and 7% opacity, then implement and test in the item view.
Set up SwiftUI navigation for the cryptocurrency app by wiring coin rows and top movers to a coin details view, with a color theme for light and dark modes.
Build a reusable coin details UI in SwiftUI by combining a navigation and scroll view, outlining chart, overview, and details, and using a two-column grid of reusable statistic views.
Design a statistic model in SwiftUI, conform to identifiable with title, value, and percentage change, and wire it into a coin detail section using a developer preview with mock data.
Populate a coin details view by passing a coin to a coin details view model, generating overview and additional details sections with price, market cap, rank, volume, and 24-hour changes.
Create and configure a SwiftUI line chart for a seven-day, 168-point price history using a chart data model, date parsing, and a view model to map hourly prices to dates.
Format numbers and dates with a double extension that abbreviates values and a short date formatter, then style the chart with axis labels and color by price change.
Add a custom loading indicator and overlay in SwiftUI, manage a loading state, and implement lazy navigation to prevent preloading coin detail views, boosting app performance.
Break down the MVVM architecture by showing model, view model, and view interactions. Highlight how the view model owns the model, uses the published property wrapper, and updates the view.
What are we building?
In this course, you will learn how to build a cryptocurrency application that displays live price data. We will be building this completely from scratch, using nothing but SwiftUI and the MVVM architecture. This course WILL take your development skills to the next level, using the latest and greatest techniques in modern programming.
Prior Experience?
Some programming and basic Xcode experience is preferred. The course will move a little fast if you're a complete beginner, but you will pick things up along the way.
Why take this course?
Learning advanced development skills should be taught using real world examples. This course will teach you how to build a fully functional app with SwiftUI, from complete scratch. You will be learning professional development skills, from a real life Meta Software Engineer. You will learn how to code like a pro, and everything will be explained in detail along the way. This will teach you to build production ready applications, that are easily scalable and maintainable. This also makes for a great project to add to your portfolio, which you can use to show off to potential employers if you're trying to become a pro.
What will you learn?
How to build a complex User Interface with strictly SwiftUI
How to integrate a backend with a complex SwiftUI application
How to implement Model View ViewModel (MVVM) architecture
How to utilize an open source API to get our crypto data
How to structure data for clean and concise code
How to parse incoming JSON data from database
How to use Swift Package Manager (SPM) and custom third party APIs
How to work with Binding, Published and State variables
How to implement custom subclasses for clean and reusable code
How to create extensions and functions for clean and reusable code
Advanced level programming and app development skills
Advanced level User Interface Design