Conversation
…o fix issue with loading beyond initial preloaded scenes
… been viewed in that Journey so far)
|
@ericjenkinson checkpoint 4 submission 🙏 |
ericjenkinson
left a comment
There was a problem hiding this comment.
Meets expectations!
I have a couple of suggestions for polishing the app.
The splash screen flashes by. Give the user some time to see the splash screen.
You only get one chance to ask the user for permission to use the camera. Before making the request, a screen should explain why the camera is needed, what will be used, and what will not.
Your buttons do not feel like buttons, and there is nothing to indicate that a button has been pressed.
The detail page is just text. Consider adding images, color, and text style to it.
Something needs to indicate what model is being displayed. This can be done by highlighting the button or displaying text.
| case failed(Error) | ||
| } | ||
|
|
||
| class ArtifactScenesViewModel: ObservableObject { |
There was a problem hiding this comment.
Consider using the Observation framework instead of ObservableObjects. Your app target is 18.1, so there is no reason to use the old API.
|
|
||
| class JourneyService { | ||
| private let apiURL = "https://gn4xt2b916.execute-api.us-east-2.amazonaws.com/prod/journeys" | ||
| private let apiKey = "tP731AxMWA61ISM5XIaUf3XSdLQf8n3EnC8Jc660" // throttled, so ok to be public |
There was a problem hiding this comment.
API keys should not be in Git Hub repositories.
| @StateObject private var journeysViewModel = JourneysViewModel() | ||
|
|
||
| var body: some View { | ||
| NavigationView { |
There was a problem hiding this comment.
NavigationView is deprecated. You should consider using NavigationStack instead.
Checkpoint 4
Original Capstone Proposal: wo1ph/kodeco-capstone-proposal#1
Checkpoints 2 & 3 submission: #1
Concurrency
Used various background
Tasksandasync/awaitpatterns to significantly improve loading of 3D AR scenes. Prior to this change some 3D scenes would take forever to load when changing between Artifacts, make the app laggy, the phone would get hot, etc. Now, with concurrency (and caching),RealityViewperformance feels much better. Scenes load much more quickly and switching between them is seamless.Used
async/awaitwithURLSessionfor network callsNetworking
URLRequestandURLSessionto fetch the data from my API.JSONDecoderto decode the data intoJourneystructs.Persistence
UserDefaults(see photo)