May 2023
The app to manage favourite places as a list which includes information of places with pictures, geographic locations, map, and sunrise/sunset times. User can add, edit, and delete places. Data is saved using CoreData.
- How to use CoreData for persistent data and setup Context
- How to setup a CoreData entity with attributes
- How to setup PersistenceHandler
- How to set sort order to FetchRequest
- How to solve reordering items in CoreData Source
- How to implement MVVM pattern
- How to use different property wrappers
- How to download images from url
- How to use cache
- How to implement async operations
- How to test CoreData context
- How to load default sample data
- How to set up Map view and access geo location
- How to update Map view and move with animation
- How to solve error from loading cache image by wrapping in DispatchQueue.main.async
- How to size a sub view by adding .frame(width:, height:)
- How to create a thumbnail map view
- How to fetch timezone data via API
- How to fetch sunrise/sunset time data via API
- How to convert date format using DateFormatter()
- How to use ProgressView()
- Implement CoreData persistence data
- Add Place entity to CoreData
- Add a master view to list Place items with adding item feature
- Add edit mode to master view
- Add delete and move features
- Add a detail view to display name and notes of a place
- Implement MVVM pattern
- Add image download feature
- Add location attributes
- Add eidt mode for place details
- Add thumbnail image and location details to list row
- Add feature to load default place data for when there is no place data saved
- Move some of delete and add processes to view model file
- Add Map location view
- Add update feature to save geo location data and location name to place item list
- Add map thumbnail view in detail view to show a small map
- Add feature to update the place name from the location name in the map
- Add feature to show time zone of a place in detail view
- Add feature to show sunrise/sunset time of a place in detail view
- Add app icon
- Set accent colour and heading colour
Demonstrating the excution of code, explanation of the code. YouTube Video