NovelLibrary
One stop for reading all novels
Install / Use
/learn @gmathi/NovelLibraryREADME
Novel Library
Your one-stop Android app for reading web novels from multiple sources with offline support, customizable reading experience, and cloud sync.
| Version | Support Server |
|---------|----------------|
| 1.1.0 | |
Features
- Read novels from multiple online sources via extensions
- Download chapters for offline reading
- Customizable reader with multiple themes and fonts
- Text-to-Speech (TTS) support with media controls
- Cloud sync across devices (Firebase integration)
- Library management with search and filtering
- Chapter tracking and reading progress
- Import reading lists from NovelUpdates
- Push notifications for novel updates
- Dark theme support
- Multi-language support
Screenshots
[Add screenshots here to showcase the app]
Getting Started
Prerequisites
- Android Studio Arctic Fox or later
- JDK 17
- Android SDK with API 35
- Kotlin 2.0.21 or later
Required Configuration Files
Before building the app, you need to download the following configuration files:
Download from: https://drive.google.com/drive/folders/0B2NcxiuA0KTIQnY0akJjb0NxWVE?usp=sharing
-
google-services.json- Firebase configuration file- Copy to:
app/directory
- Copy to:
-
keystore.properties- Signing configuration (for release builds)- Copy to: project root directory
- Format:
storeFile=path/to/keystore storePassword=your_store_password keyAlias=your_key_alias keyPassword=your_key_password
Building the App
-
Clone the repository:
git clone https://github.com/gmathi/NovelLibrary.git cd NovelLibrary -
Add the required configuration files (see above)
-
Open the project in Android Studio
-
Sync Gradle files
-
Build and run:
./gradlew assembleNormalDebug
Build Variants
The app has three product flavors:
normal- Standard production buildmirror- Alternative build with different package name (can be installed alongside normal build)canary- Development build with LeakCanary for memory leak detection
Extensions
Novel Library uses a modular extension system to support multiple novel sources. Extensions are distributed separately.
Extensions Repository: https://github.com/gmathi/NovelLibrary-Extensions
Tech Stack
- Kotlin
- Android Jetpack (ViewModel, LiveData, WorkManager, Room)
- Firebase (Auth, Messaging, Crashlytics, Remote Config)
- Retrofit + OkHttp for networking
- Glide & Coil for image loading
- Jsoup for HTML parsing
- RxJava for reactive programming
- Kotlin Coroutines
- Material Design Components
Architecture
The app follows MVVM architecture pattern with:
- Repository pattern for data management
- Dependency injection using Injekt
- Background processing with WorkManager
- Local database for offline storage
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the terms specified in the LICENSE file.
Privacy Policy
See Privacy-Policy for details on data collection and usage.
Support
- Join our Discord server: https://discord.gg/qFZX4vdEdF
- Report issues on GitHub Issues
- Check the wiki for documentation
Acknowledgments
- All contributors who have helped improve this project
- Open source libraries used in this project (see Libraries Used in app settings)
- Novel source websites for providing content
