Bookworm

Description:

Bookworm is an app I built while following 100 Days of SwiftUI by Paul Hudson.

It is a multi-screen application that allows the user to manage book reviews. It uses Core Data to permanently store data on the users device.

Screenshots:

Home Screen   New Screen   Detail Screen

Installation and Setup Instructions

Prerequisites

⚠️ MacOS Monterey

⚠️ Xcode 13

Instructions:

1️⃣ Clone this repository.

2️⃣ Run it in Xcode.

Reflection

Summary

➡️ Created a Data Model and added a Book entity
➡️ Utilized @Environment(\.managedObjectContext) to work with data from Core Data
➡️ Fetched and sorted books from Core Data with @FetchRequest
➡️ Created a component that used @Binding to mutate a value stored in a parent view

Conclusion

Working with Core Data is cool, but it feels un-SwiftUI-like so to speak. Nevetheless, it’s not that big of a deal and the upside, unlimited (in theory at least) persistent data, far outweighs the downsides. Curious to learn more about Core Data, I’ll try and look for some real world, more complex examples.

GitHub

View Github