- Empty SwiftUI project
- Add a Person DTO and a basic async Data request.
- Generalize Decodable get.
- Rename Person.
- Generalize Decodable get. Rename Person to "People" for consistency.
- Fetch and display a page of people.
- Add a Film placeholder view with async loading.
- Add aggresive caching to request!
- Introduce a people view model and fetch all pages.
- Separate People List view.
- Add a People detail view.
- Add a Film detail view.
- Experiment: Request films concurrently (pretending we always have 3) with
async let
.
- Fetch all films concurrently with a
TaskGroup
.
- Generalize fetching of any
Decodable
from a collection of URLs.
- Add a
getAllPossible
generic function that tries to fetch as many URLs as possible.
- Add an opening crawl view.
- Add mock JSON for people and film (for previews).