docs: Revamp README and add APK naming convention (#2)
This commit introduces a complete overhaul of the `README.md` to improve project presentation. Key changes include: • Adds a new header with the app icon and a Google Play badge. • Updates the feature graphic and includes a note distinguishing the OSS version from the Play Store version. • Refines the "Open Source Libraries" section to be more structured. • Moves the main preview image into the `docs` directory. Additionally, the `app/build.gradle.kts` file is updated to configure a standardized naming convention for output APK files, including flavor, version, and build type.
This commit is contained in:
parent
8b5dd8e78a
commit
92c2bf2822
5 changed files with 42 additions and 13 deletions
40
README.md
40
README.md
|
|
@ -1,13 +1,28 @@
|
||||||
# Episteme Reader
|
<div align="center">
|
||||||
|
|
||||||
A native Android document reader application built with Kotlin and Jetpack Compose.
|
<h1>
|
||||||
|
<img src="docs/ICON.png" height="48" style="vertical-align: middle; border-radius: 12px;" alt="Episteme Reader Icon"/>
|
||||||
|
Episteme Reader
|
||||||
|
</h1>
|
||||||
|
|
||||||

|
<p>A native Android document reader application built with Kotlin and Jetpack Compose.</p>
|
||||||
|
|
||||||
|
<a href="https://play.google.com/store/apps/details?id=com.aryan.reader">
|
||||||
|
<img alt="Get it on Google Play" src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png" height="70"/>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<br/>
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
## Overview
|
## 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.
|
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
|
## Features
|
||||||
|
|
||||||
### Supported Formats
|
### Supported Formats
|
||||||
|
|
@ -27,7 +42,7 @@ Episteme Reader is an offline-first application designed for reading various doc
|
||||||
|
|
||||||
### General
|
### General
|
||||||
* **Text-to-Speech (TTS):** Read documents aloud using the system TTS engine.
|
* **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
|
## Architecture
|
||||||
|
|
||||||
|
|
@ -35,14 +50,15 @@ Episteme Reader is an offline-first application designed for reading various doc
|
||||||
* **Architecture:** MVVM with Unidirectional Data Flow.
|
* **Architecture:** MVVM with Unidirectional Data Flow.
|
||||||
* **Database:** Room (SQLite) for metadata and annotations.
|
* **Database:** Room (SQLite) for metadata and annotations.
|
||||||
* **PDF Engine:** `pdfium-android` (Native PDFium bindings).
|
* **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`.
|
* **Mobi Engine:** Custom JNI bindings to `libmobi`.
|
||||||
|
|
||||||
## Building from Source
|
## Building from Source
|
||||||
|
|
||||||
1. **Clone the repository:**
|
1. **Clone the repository:**
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/your-username/episteme-oss.git
|
git clone https://github.com/Aryan-Raj3112/episteme.git
|
||||||
cd episteme-oss
|
cd episteme
|
||||||
```
|
```
|
||||||
|
|
||||||
2. **Build:**
|
2. **Build:**
|
||||||
|
|
@ -53,13 +69,13 @@ Episteme Reader is an offline-first application designed for reading various doc
|
||||||
|
|
||||||
## Open Source Libraries
|
## 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)
|
* **Core & UI:** AndroidX, Jetpack Compose, Kotlinx Serialization
|
||||||
* [libmobi](https://github.com/bfabiszewski/libmobi)
|
* **Document Engines:** PdfiumAndroidKt (PDF), libmobi (MOBI/AZW3), Google WOFF2 (Fonts)
|
||||||
* [Coil](https://coil-kt.github.io/coil/)
|
* **Parsers:** Jsoup (HTML/EPUB), Flexmark (Markdown)
|
||||||
* [Jsoup](https://jsoup.org/)
|
* **Media & Image Loading:** Coil, Media3 (ExoPlayer)
|
||||||
* [Flexmark](https://github.com/vsch/flexmark-java)
|
* **Utilities:** Room (Database), Timber (Logging)
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
compileOptions {
|
||||||
sourceCompatibility = JavaVersion.VERSION_17
|
sourceCompatibility = JavaVersion.VERSION_17
|
||||||
targetCompatibility = JavaVersion.VERSION_17
|
targetCompatibility = JavaVersion.VERSION_17
|
||||||
|
|
|
||||||
|
|
@ -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 {
|
plugins {
|
||||||
alias(libs.plugins.android.application) apply false
|
alias(libs.plugins.android.application) apply false
|
||||||
alias(libs.plugins.kotlin.android) apply false
|
alias(libs.plugins.kotlin.android) apply false
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 647 KiB After Width: | Height: | Size: 647 KiB |
BIN
docs/ICON.png
Normal file
BIN
docs/ICON.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 13 KiB |
Loading…
Add table
Add a link
Reference in a new issue