Spellbook is an iOS app for building and browsing tabletop RPG spellbooks, currently focused on Dungeons & Dragons 5e. The project uses UIKit for the interface, Core Data for local persistence, and a bundled XML spell source intended to support an in-app compendium workflow.
This repository appears to be an early-stage or in-progress app prototype. The project already includes:
- A spellbook home screen backed by
NSFetchedResultsController - A flow for creating a new spellbook with edition and class selection
- A compendium screen scaffold
- Custom UIKit views, cells, and layout helpers
- A Core Data model for spellbooks and character classes
- A bundled 5e-oriented rules/data foundation
Some flows are still incomplete or placeholder-driven. For example, the app currently seeds temporary test spellbooks in MainVC, and spell selection/saving is only partially wired.
- Swift
- UIKit
- Core Data
- CocoaPods
- AEXML
- Xcode project/workspace
Spellbook/: app entry point, storyboard, assets, and main view controllerView/: custom cells, controls, and layout classes*.swiftat repo root: screen-specific controllers, helpers, and model definitionsSpellbook.xcdatamodeld/: Core Data schemaSpellbook.xml: bundled spell/reference data sourcePodfile: CocoaPods dependency configuration
- Xcode
- CocoaPods
- An iOS simulator or device
- Install pods:
pod install- Open
Spellbook.xcworkspacein Xcode. - Build and run the
Spellbooktarget.
The codebase is oriented around a few core ideas:
- Create local spellbooks for characters
- Organize spellbooks by edition and class
- Persist spellbook data on-device with Core Data
- Grow toward a searchable spell compendium backed by bundled data
- The only edition currently represented in shared data is
5e. - The app is built as a local-first iOS project; no backend or sync service is configured here.
- Dependencies are vendored through CocoaPods and the
Pods/directory is committed in this repository.
Spellbook is a useful base for anyone interested in:
- learning how an older UIKit/Core Data iOS app is structured
- extending a tabletop companion app for spell organization
- experimenting with compendium parsing and local RPG data storage