diff --git a/README.md b/README.md index ba0b08f..991c7ae 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,28 @@ -# Episteme Reader +
-A native Android document reader application built with Kotlin and Jetpack Compose. +

+ Episteme Reader Icon +  Episteme Reader +

-![Episteme Reader](docs/feature_graphic.png) +

A native Android document reader application built with Kotlin and Jetpack Compose.

+ + + Get it on Google Play + + +
+ +
+ +![Episteme Reader Preview](docs/EPISTEME.png) ## Overview Episteme Reader is an offline-first application designed for reading various document formats. It leverages native Android technologies and C++ libraries to provide a performant reading experience with customization capabilities. +> **Note:** This is the Open Source (OSS) edition of Episteme Reader. The version available on the Google Play Store is built from this core but includes additional proprietary features. + ## Features ### Supported Formats @@ -27,7 +42,7 @@ Episteme Reader is an offline-first application designed for reading various doc ### General * **Text-to-Speech (TTS):** Read documents aloud using the system TTS engine. -* **File Management:** Built-in file browser and library organization. +* **File Management:** Built-in library organization. ## Architecture @@ -35,14 +50,15 @@ Episteme Reader is an offline-first application designed for reading various doc * **Architecture:** MVVM with Unidirectional Data Flow. * **Database:** Room (SQLite) for metadata and annotations. * **PDF Engine:** `pdfium-android` (Native PDFium bindings). +* **EPUB Engine:** Utilizes standard `WebView` for vertical scrolling mode, and a custom rendering engine for paginated mode. * **Mobi Engine:** Custom JNI bindings to `libmobi`. ## Building from Source 1. **Clone the repository:** ```bash - git clone https://github.com/your-username/episteme-oss.git - cd episteme-oss + git clone https://github.com/Aryan-Raj3112/episteme.git + cd episteme ``` 2. **Build:** @@ -53,13 +69,13 @@ Episteme Reader is an offline-first application designed for reading various doc ## Open Source Libraries -This project uses the following open-source libraries: +This project is made possible by the Android open-source ecosystem: -* [pdfium-android](https://github.com/barteksc/PdfiumAndroid) -* [libmobi](https://github.com/bfabiszewski/libmobi) -* [Coil](https://coil-kt.github.io/coil/) -* [Jsoup](https://jsoup.org/) -* [Flexmark](https://github.com/vsch/flexmark-java) +* **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization +* **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (Fonts) +* **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown) +* **Media & Image Loading:** Coil, Media3 (ExoPlayer) +* **Utilities:** Room (Database), Timber (Logging) ## License diff --git a/app/build.gradle.kts b/app/build.gradle.kts index cac0c50..3056254 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -78,6 +78,19 @@ android { ) } } + + applicationVariants.all { + val variant = this + outputs.all { + val output = this as com.android.build.gradle.internal.api.ApkVariantOutputImpl + val flavor = variant.productFlavors.getOrNull(0)?.name ?: "" + val buildType = variant.buildType.name + val version = variant.versionName + + output.outputFileName = "Episteme-$flavor-v$version-$buildType.apk" + } + } + compileOptions { sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 diff --git a/build.gradle.kts b/build.gradle.kts index 952b930..6e1e49a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,4 +1,4 @@ -// Top-level build file where you can add configuration options common to all sub-projects/modules. +// Top-level build file where you can add configuration options common to all subprojects/modules. plugins { alias(libs.plugins.android.application) apply false alias(libs.plugins.kotlin.android) apply false diff --git a/EPISTEME.png b/docs/EPISTEME.png similarity index 100% rename from EPISTEME.png rename to docs/EPISTEME.png diff --git a/docs/ICON.png b/docs/ICON.png new file mode 100644 index 0000000..2063689 Binary files /dev/null and b/docs/ICON.png differ