lumina
Introduction: A lightweight, cross-platform EPUB reader built with Flutter, supporting iOS and Android systems.
Tags:
简体中文 | English
A lightweight EPUB e-book reader built with Flutter, supporting both Android and iOS platforms.
🚧 Early Development Stage
Please note that this project is currently in Alpha. Breaking changes to the database schema may occur without migration scripts in early versions.
✨ Key Features
- 📚 EPUB Reading - Supports EPUB 2.0/3.0 formats with smooth page turning, automatic reading progress saving, and complete EPUB rendering based on WebView
- 🗂️ Bookshelf Management - Custom grouping, multi-dimensional sorting, and batch operations
- 🎨 Elegant Interface - Light/dark theme switching for comfortable reading experience
- ⚡ Efficient Architecture - Streaming loading of EPUB compressed files for fast startup
📱 Screenshots
Shelf |
About |
Reader |
Book Details |
Table of Contents |
Style Settings |
Footnote Support |
Vertical Reading Support |
🚀 Quick Start
Visit the Releases page to download the latest version.
- Android Users: Download the
.apkfile and install it directly. - iOS Users: Download the
.ipafile and install it via sideloading.- Recommended Tools: AltStore (Recommended), Sideloadly, or TrollStore (for supported iOS versions).
- Note: If using a free Apple ID, you will typically need to refresh the app signature every 7 days.
🔧 Developer Guide
Requirements
- Flutter SDK ≥ 3.10.8
- Dart SDK ≥ 3.10.8
- iOS 12.0+ / Android 5.0+ (API Level 21+)
Build from Source
- Clone the Repository
git clone https://github.com/MilkFeng/lumina.git
cd lumina
- Install Dependencies
flutter pub get
- Run the App
flutter run
Or specify a device:
flutter run -d <device-id>
Build Release Version
Android APK
flutter build apk --release
iOS
flutter build ios --release
🗺️ Roadmap
- Basic EPUB parsing and rendering
- Stream-from-Zip streaming loading
- Smooth page turning animations
- Automatic reading progress saving
- Bookshelf grouping management
- Table of contents navigation
- Adaptive light/dark themes
- Internationalization support (Chinese/English)
- Avoid duplicate page turns when two NCX navigation points are on the same page
- Long press images to view full-size
- Simple swipe page turning mode
- Improve screenshot speed during page turns on iOS
- Import folders
- Optimize initial loading lag when opening the first book
- Export library
- Test import/export functionality on iOS
- Bookshelf homepage can switch between "Compact, Comfortable" layout modes, and can set whether to show book reading progress bars
- Vertical and RTL support
- Associate with epub format for direct opening of epub files
- Edit book metadata (title, author, etc.)
- Reading settings (font size, background color, etc.)
- Footnote support
- Link handling
- Better color rendering
- Cloud sync (WebDAV)
- Search functionality
- Annotation and bookmarking features
- Edit book covers
- More reading settings options
- Chinese support for error messages
🙏 Acknowledgements
This project uses the following excellent open-source projects:
- Flutter - Google's UI toolkit
- Riverpod - Reactive state management
- Isar - High-performance NoSQL database
Thanks to all contributors for their support!
⭐ If this project helps you, feel free to star it!
Issues and pull requests are welcome
