Quran Reader is a modern, feature-rich Android application built with Jetpack Compose, designed to provide a seamless and beautiful experience for reading the Holy Quran. The app focuses on clean design, performance, and user customization.
- Modern UI: Built entirely with Jetpack Compose for a smooth and responsive interface.
- Home Dashboard: Quick access to your last read position, recent bookmarks, and current prayer times.
- Comprehensive Surah List: Easily browse through all 114 Surahs with Arabic and English names.
- Reading Experience:
- High-quality Arabic Uthmani script.
- Multiple translation support.
- Bookmark any Ayah for later reference.
- Deep Customization:
- Theme Modes: Support for System, Light, and Dark modes.
- Color Palettes: Choose from multiple beautiful palettes including Material You (Dynamic), Classic Green, Lavender, Pink, Mocha, Catppuccin, and Monochrome.
- Translation Selection: Search and choose from dozens of available translations via the API.
- Prayer Times: View prayer times based on your local time.
- Local Storage: Your progress and bookmarks are saved locally using Room and DataStore.
Tip
Use translation feature to change ayah/Surah language. It supports almost 400+ local lang.
|
|
|
|
|
|
- Language: Kotlin
- UI Framework: Jetpack Compose
- Dependency Injection: Hilt
- Networking: Retrofit & Gson
- Database: Room
- Data Persistence: Jetpack DataStore (Preferences)
- Architecture: MVVM (Model-View-ViewModel) with a Repository pattern.
- Asynchronous Programming: Kotlin Coroutines & Flow
The application uses the Quran API by Fawaz Ahmed.
- Base URL:
https://raw.githubusercontent.com/fawazahmed0/quran-api/1/ - This API provides access to the Quran text in various languages and editions without requiring an API key.
The project follows the standard Android Architecture Guidelines:
- Data Layer: Handles API calls (Retrofit) and local database operations (Room/DataStore).
- Domain Layer: (Implicitly managed via Repositories) contains the business logic and models.
- UI Layer: Composable screens and ViewModels that manage state using
StateFlow.
- Clone the repository:
git clone https://github.com/Hotaro26/QuranReader.git
- Open the project in Android Studio (Iguana or newer).
- Build the project using Gradle:
./gradlew assembleDebug
This project is open-source. Please attribute the API source (Fawaz Ahmed's Quran API) when using or forking.
Developed with ❤️ by Hotaro





