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:
Aryan 2026-02-25 19:54:43 +05:30 committed by GitHub
parent 8b5dd8e78a
commit 92c2bf2822
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 42 additions and 13 deletions

View file

@ -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"/>
&nbsp;Episteme Reader
</h1>
![Episteme Reader](docs/feature_graphic.png)
<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/>
![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

View file

@ -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

View file

@ -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

View file

Before

Width:  |  Height:  |  Size: 647 KiB

After

Width:  |  Height:  |  Size: 647 KiB

Before After
Before After

BIN
docs/ICON.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB