Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/andrewbennet/readinglistv1
:books: :iphone: Reading List - an iOS app to track personal reading lists
https://github.com/andrewbennet/readinglistv1
app app-store ios ipad iphone swift
Last synced: 12 days ago
JSON representation
:books: :iphone: Reading List - an iOS app to track personal reading lists
- Host: GitHub
- URL: https://github.com/andrewbennet/readinglistv1
- Owner: AndrewBennet
- License: gpl-3.0
- Created: 2016-03-11T22:26:45.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-01T23:19:53.000Z (3 months ago)
- Last Synced: 2024-10-13T14:47:06.350Z (about 1 month ago)
- Topics: app, app-store, ios, ipad, iphone, swift
- Language: Swift
- Homepage: https://readinglist.app
- Size: 214 MB
- Stars: 302
- Watchers: 18
- Forks: 48
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Reading List (v1.16.1)
[![Twitter URL](https://img.shields.io/twitter/url?label=%40ReadingListApp&style=social&url=https%3A%2F%2Ftwitter.com%2Freadinglistapp)](https://twitter.com/ReadingListApp)[Reading List](https://www.readinglist.app) 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.
## Requirements
- Xcode 12.4## Dependencies
Reading List uses the [Mint](https://github.com/yonaskolb/Mint) package manager to manage Swift command line tool packages. Mint can be installed using [Homebrew](https://brew.sh/) (among [other methods](https://github.com/yonaskolb/Mint#installing)):
brew install mint
### XcodeGen
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](https://github.com/yonaskolb/XcodeGen):mint run yonaskolb/XcodeGen
### SwiftLint
[SwiftLint](https://github.com/realm/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
## Architecture
Reading List is written in Swift, and primarily uses Apple provided technologies.### User Interface
Reading List mostly uses [storyboards](https://developer.apple.com/library/content/documentation/General/Conceptual/Devpedia-CocoaApp/Storyboard.html) for UI design (see below); a limited number of user input views are built using [Eureka](https://github.com/xmartlabs/Eureka) forms.![Example storyboard](./media/storyboard.png)
### Data persistence
Reading List uses [Core Data](https://developer.apple.com/documentation/coredata) for data persistence. There are three entities used in Reading List: `Book`, `Subject` and `List`. The attributes and relations between then are illustrated below: