https://github.com/nikolainobadi/dbmultiverse
An iOS app to read and manage the DragonBall Multiverse webcomic, built with a modular architecture.
https://github.com/nikolainobadi/dbmultiverse
comic-reader ios swift swiftui swiftui-example widgets xcode
Last synced: 4 months ago
JSON representation
An iOS app to read and manage the DragonBall Multiverse webcomic, built with a modular architecture.
- Host: GitHub
- URL: https://github.com/nikolainobadi/dbmultiverse
- Owner: nikolainobadi
- License: mit
- Created: 2024-11-11T03:05:30.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-03-06T00:25:50.000Z (8 months ago)
- Last Synced: 2025-03-06T01:26:58.597Z (8 months ago)
- Topics: comic-reader, ios, swift, swiftui, swiftui-example, widgets, xcode
- Language: Swift
- Homepage:
- Size: 8.3 MB
- Stars: 37
- Watchers: 1
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Multiverse Reader
Multiverse Reader is an iOS application designed to enhance the experience of reading and managing the DB Multiverse webcomic. The app integrates several modules, each providing specific functionality to ensure a seamless and enjoyable user experience.
## TestFlight
If you just want access to the app, it has been approved for beta testing through TestFlight (Apple's own beta testing app).[Install Multiverse Reader with TestFlight](https://testflight.apple.com/join/8B21HpTS)
If you don't have TestFlight installed on your device, the link should first prompt you to install TestFlight, then you should be able to install Multiverse Reader.
## Table of Contents
- [Overview](#overview)
- [Screenshots](#screenshots)
- [iPhone Screenshots](#iphone-screenshots)
- [iPad Screenshots](#ipad-screenshots)
- [Installation](docs/XcodeInstallation.md)
- [Modules](#modules)
- [DBMultiverse](docs/DBMultiverse_Documentation.md)
- [ComicKit](docs/DBMultiverseComicKit_Documentation.md)
- [ParseKit](docs/DBMultiverseParseKit_Documentation.md)
- [Widgets](docs/DBMultiverseWidgets_Documentation.md)- [License](LICENSE)
## Overview
Multiverse Reader is built with modularity in mind, utilizing distinct modules for:
- Parsing webcomic data from HTML sources (ParseKit).
- Managing and displaying comic chapters and pages (ComicKit).
- Extending functionality via home screen widgets (Widgets).Each module is documented in detail, and their integration is explained within the core [DBMultiverse Documentation](docs/DBMultiverse_Documentation.md).
## Screenshots
### iPhone Screenshots
(The name of the app changed. I'll get around to updating the screenshots soon.)
Chapter List
Comic View
![]()
![]()
### iPad Screenshots
(The name of the app changed. I'll get around to updating the screenshots soon.)
Chapter List
Comic View
![]()
![]()
## Installation
To install the app using Xcode:
1. **Open** Xcode (or **Download** it from the [Mac App Store](https://apps.apple.com/us/app/xcode/id497799835?mt=12)).
2. **Clone the project** from the [GitHub repository](https://github.com/nikolainobadi/DBMultiverse).
3. **Open the project** in Xcode by selecting the `DBMultiverse.xcodeproj` file.
4. **Connect your iPhone or iPad** and select it as the target device in Xcode.
5. **Run the app** by clicking the play button in Xcode.For detailed installation steps, refer to the [Xcode Installation Guide](docs/XcodeInstallation.md).
## Modules
The **DBMultiverse** app is architected with modularity at its core, leveraging the separation of concerns to ensure scalability, maintainability, and ease of testing. Each module has a clearly defined purpose:
### 1. Core Application
- **Documentation**: [MultiverseReader](docs/DBMultiverse_Documentation.md)
- **Purpose**: Acts as the central layer that integrates functionality from all modules, orchestrating the primary app logic and navigation.### 2. ComicKit Module
- **Documentation**: [ComicKit](docs/DBMultiverseComicKit_Documentation.md)
- **Purpose**: Manages comic-related functionality, including chapter handling, caching, and displaying comic pages with interactive features.### 3. ParseKit Module
- **Documentation**: [ParseKit](docs/DBMultiverseParseKit_Documentation.md)
- **Purpose**: Responsible for parsing HTML data to extract comic metadata dynamically, enabling updates and ensuring accurate content delivery.### 4. Widgets Module
- **Documentation**: [Widgets](docs/DBMultiverseWidgets_Documentation.md)
- **Purpose**: Extends the app’s functionality to the home screen, providing widgets that display chapter progress and enable quick navigation.### Architecture and Benefits
The **DBMultiverse** app’s modular architecture provides numerous benefits:
- **Reduced Coupling**: Each module operates independently, allowing easier updates and maintenance without impacting other parts of the app.
- **Scalability**: Adding new features or expanding existing ones is simplified due to the modular structure.
- **Ease of Testing**: Modules can be tested in isolation, ensuring robust functionality and easier debugging.
- **Code Reuse**: Core components, such as **ComicKit**, can be reused across different projects.The modules fit together seamlessly:
- **ParseKit** supplies structured data to **ComicKit**, which processes and presents it.
- The core **DBMultiverse** app integrates these features to provide the main user experience.
- **Widgets** consume data from **ComicKit** to deliver dynamic and interactive home screen functionality.## License
This project is licensed under the terms specified in the [LICENSE](LICENSE) file.