Reading List is an iOS app for iPhone and iPad which helps users track and catalog the books they read.
This repository contains the source code for Reading List v1.16.1; in 2021, Reading List v2.0 was released, which is no longer open-source. The app is instead supported by some select premium features which require a payment to unlock.
This repository is kept public for posterity.
- Xcode 12.4
Reading List uses the Mint package manager to manage Swift command line tool packages. Mint can be installed using Homebrew (among other methods):
brew install mint
XcodeGen is a command-line tool written in Swift. It generates your Xcode project using your folder structure and a project spec, which contains all the information necessary to generate a project, such as targets, schemes, settings. The Xcode project should be generated by running XcodeGen:
mint run yonaskolb/XcodeGen
SwiftLint is used to enforce Swift style guidelines. An Xcode build step runs SwiftLint; this requires it to be installed. To install it, run:
mint install realm/SwiftLint
Reading List is written in Swift, and primarily uses Apple provided technologies.
Reading List mostly uses storyboards for UI design (see below); a limited number of user input views are built using Eureka forms.
Reading List uses Core Data for data persistence. There are three entities used in Reading List: Book
, Subject
and List
. The attributes and relations between then are illustrated below: