Skip to content

Hotaro26/QuranReader

Repository files navigation

Quran Reader

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.

🌟 Features

  • 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.

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3
Screenshot 4 Screenshot 5 Screenshot 6

🛠️ Tech Stack

📡 API Source

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.

🏗️ Architecture Overview

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.

🚀 Building the Project

  1. Clone the repository:
    git clone https://github.com/Hotaro26/QuranReader.git
  2. Open the project in Android Studio (Iguana or newer).
  3. Build the project using Gradle:
    ./gradlew assembleDebug

📄 License

This project is open-source. Please attribute the API source (Fawaz Ahmed's Quran API) when using or forking.


Developed with ❤️ by Hotaro