Advanced Projects
Prerequisites: Level 3 — Advanced
Build these using concurrency, SwiftUI, architecture, and the testing and shipping practices from Level 3.
1. SwiftUI Notes App
Build a notes app with a list, a detail screen, search, and swipe to
delete. Keep state in an @Observable model, persist notes as JSON (or
with SwiftData), and write unit tests for the model logic. Support Dark
Mode and Dynamic Type.
2. Concurrent Image Downloader
Download a list of images concurrently with a TaskGroup, limiting how
many run at once, cancelling everything if the user cancels, and caching
results in an actor. Compile it in the Swift 6 language mode with no
data-race warnings.
3. REST API with Vapor
Build a small JSON API (tasks or bookmarks) with the Vapor framework,
backed by a database through Fluent. Validate input, return proper status
codes, write tests with XCTVapor or Swift Testing, and run it in
Docker.