GitXplorerGitXplorer
m

TrySwiftStarWars

public
6 stars
0 forks
0 issues

Commits

List of commits on branch main.
Unverified
a39e65e91654000e2ffcacbba509209e9c06c95d

Update README. Refactor. Use shared JSONDecoder. Update comments.

mmarkiv committed 2 years ago
Unverified
f129c0cc79b1fc0942d3ca67f5f2dda65f47158d

Add an opening crawl view

mmarkiv committed 2 years ago
Unverified
cbe27e64eb12be85c2406e0fef2fef1010354624

Backport URLSession async method. Add README,

mmarkiv committed 2 years ago
Unverified
5fe43f5bd43b81707f1fe0202751530c000e6225

Add mock JSON to previews. Add Film detail view.

mmarkiv committed 2 years ago
Unverified
9db5bd02bf8859afae84519130ffc23f91a77482

Generalize fetching collections of Decodables from collections of URLs

mmarkiv committed 2 years ago
Unverified
55eb5e57e2bde4122ada5e1c6ad428ee497600a6

Move extensions. Fetch all people pages in a background task.

mmarkiv committed 2 years ago

README

The README file for this repository.

Star Wars Universe Explorer

This is the Swift project we built during our Swift Concurrency workshop at try! Swift World.

It's a SwiftUI app to explore the free data kindly provided by The Star Wars API.

You can step through our progress with each commit, tagged in git as follos:

  • tag 1: Intial project with a People DTO.
  • tag 2: Fetch a single "People" with await.
  • tag 3: Generalize fetching with URL extension.
  • tag 4: Generalize fetching with Decodable extension function.
  • tag 5: Generalize fetching with async init in Decodable extension.
  • tag 6: Handle HTTP error status codes.
  • tag 7: Generalize with URLRequest extension. Add aggressive caching!
  • tag 8: Add PeoplePage DTO. Fetch a page of people form API.
  • tag 9: Fetch all pages from API in a loop.
  • tag 10: Add a People detail view. Add a Film DTO.
  • tag 11: Thought experiment with async let. Add snake case decoding.
  • tag 12: Fetch all Films with a task group.
  • tag 13: Move extensions. Fetch all people pages in a background task.
  • tag 14: Generalize fetching collections of Decodables from collections of URLs.
  • tag 15: Add mock JSON to previews. Add Film detail view.
  • tag 16: Backport URLSession async method. Add README.
  • tag 17: Add an opening crawl view.
  • tag 18: Update README. Refactor. Use shared JSONDecoder. Update comments.

https://user-images.githubusercontent.com/55100/190010598-5fa00a09-f76a-4256-b21b-4137969ca56a.mp4

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4