eQuran
May 28, 2026 · View on GitHub
eQuran is a focused Quran companion built with Flutter. It brings reading, listening, favourites, tafsir, transliteration, prayer times, Qibla direction, and offline audio downloads into one calm Material 3 experience.
The goal is simple: keep the interface quiet, keep the text central, and make the daily act of reading or listening feel easy to return to.
Screenshots
💖 Support the Project
If this project helps you, consider supporting its development! You can donate using any of the cryptocurrency addresses below:
| Cryptocurrency | Badge | Wallet Address |
|---|---|---|
| Bitcoin (BTC) | bc1qs7jfrkxvpdh96qmfu9srtla38fe30gvdvc22av | |
| Ethereum (ETH) | 0x9d60158D5315Fa46241FC47Bf76eEE6cF7abcAa9 | |
| Solana (SOL) | Gyy1Ar1Lu5zbyW9WEcisKkcGxBb4GPuUQEJvcQ4oV9va | |
| USDC (ERC-20) | 0x9d60158D5315Fa46241FC47Bf76eEE6cF7abcAa9 | |
| Litecoin (LTC) | LZW5Jh52Lnni6Zr3FQhimGGkyZPywSAaDX |
What It Does
- Read the Quran by Surah or Juz.
- Resume from your last-read ayah.
- Listen to full surahs or individual ayahs.
- Download Quran audio for offline playback.
- Choose from multiple reciters.
- Save favourite ayahs with optional notes.
- View translation, transliteration, and tafsir where available.
- Use prayer times, reminders, location settings, and Qibla tools.
- Share ayahs as generated images.
- Use responsive layouts across mobile, tablet, and desktop-sized screens.
Supported Devices
| Platform | Status | Notes |
|---|---|---|
| Android phones and tablets | Supported | Primary mobile target. Release APKs are built in CI. |
| Linux desktop | Supported | Release bundle is built in CI. |
| Windows desktop | Supported | Release bundle is built in CI. |
| iOS | Project files included | Can be run from Flutter with Apple tooling; not part of the current release workflow. |
| macOS | Project files included | Can be run from Flutter with Apple tooling; not part of the current release workflow. |
| Web | Project files included | Useful for development checks; not part of the current release workflow. |
Requirements
Install the Flutter stable SDK and the platform tooling for the device you want to run:
| Target | Tooling |
|---|---|
| Android | Android Studio, Android SDK, and an emulator or physical device |
| Linux | clang, cmake, ninja-build, pkg-config, libgtk-3-dev, and GStreamer development packages |
| Windows | Visual Studio with Desktop development with C++ |
| iOS/macOS | Xcode on macOS |
| Web | Chrome or another Flutter-supported browser |
This project currently expects:
Flutter >=3.41.7
Dart >=3.11.5 <4.0.0
Run The App
Clone the repository:
git clone https://github.com/ya27hw/equran_app.git
cd equran_app
Install dependencies:
flutter pub get
Run on the connected device or selected desktop target:
flutter run
You can also choose a specific target:
flutter run -d android
flutter run -d linux
flutter run -d windows
flutter run -d chrome
Build Releases
Android split APKs:
flutter build apk --release --split-per-abi
Linux:
flutter config --enable-linux-desktop
flutter build linux --release
Windows:
flutter config --enable-windows-desktop
flutter build windows --release
Build outputs are written under build/.
Project Shape
lib/
backend/ Data, downloads, audio, persistence, settings, and services
home/ Main screens, reading views, player, library, and settings
prayer/ Prayer times, reminders, location, timezone, and Qibla tools
utils/ Theme, layout, formatting, and shared helpers
widgets/ Reusable interface components
assets/
fonts/ Hafs Quran font
content/ Daily hadith and dua content
tafsir/ Tafsir JSON assets
transliteration/
metadata/ Store listing metadata and app icon
Release Flow
The GitHub Actions release workflow lives in .github/workflows/deploy.yml.
On pushes to main or manual workflow dispatch, it reads the version from pubspec.yaml, builds Android split APKs plus Linux and Windows bundles, then publishes a GitHub Release when the version tag is new.
Notes For Maintainers
Prayer times are calculated locally with adhan_dart. Prayer reminders use flutter_local_notifications and Android scheduled notifications. Android 13 and newer require notification permission, which the app requests when reminders are enabled.
The prayer location picker uses flutter_map with OpenStreetMap-compatible tiles. If the app grows beyond light usage, use a tile provider that fits the project’s traffic and terms.
Contributing
Contributions are welcome when they keep the app focused, respectful, and easy to use.
Before opening a pull request:
- Keep the change scoped.
- Run
dart format .. - Run
flutter analyze. - Test the feature path you touched.
- Update documentation when setup, behavior, or release steps change.
License
eQuran is released under the MIT License.