Skip to content

๐Ÿ’ป cross-platform desktop offline Quran reader & player

License

Notifications You must be signed in to change notification settings

benomaire/quran-companion

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ุจุณู… ุงู„ู„ู‡ ุงู„ุฑุญู…ู† ุงู„ุฑุญูŠู…

ุงู„ุนุฑุจูŠุฉ


Quran Companion

Cross-platform desktop Quran reader & player

StandWithPalestine GitHub Release AUR Version GitHub Actions Workflow Status GitHub issues

Key Features โ€ข Screenshots โ€ข Download โ€ข Credits โ€ข Report Bug โ€ข License

Table of Contents
  1. About the project
  2. Key Features
  3. Screenshots
  4. Installation
  5. Compilation
  6. Roadmap
  7. Contributing
  8. Credits
  9. License
  10. Contact

About the project โœจ

Quran Companion is a cross-platform Quran reader/player with recitation download capabilities, verse highlighting, resizable quran font, and a variety of tafsir books & translations

Key Features

  • Modern UI with dark theme support
  • Read the Quran from the mushaf page or read the page verses one-by-one
  • Resizable Quran page size
  • Quran recitation player
  • Option for downloading recitations for a variety of reciters
  • Verse highlighting as its read
  • A collection of translations & tafsir books for the Quran
  • Quran verse search functionality

(back to top)

Screenshots

light.png

dark.png

Arabic UI

ar_light.png

ar_dark.png

ar_two-page.png

(back to top)

Installation โš™๏ธ

Windows

Online installer can be downloaded from here.

Linux

The application can be downloaded in any of the available packages (snap, flatpak, appimage, aur package).

Download Flatpak Download AppImage Get it from the Snap Store

(back to top)

Compilation ๐Ÿ› ๏ธ

To build the application in your system, you'll need to install the dependencies needed for it and package names might be different for each distribution, see Dependencies below for more information. You can also install most of the Qt dependencies via their installer. If you were developing Qt apps before, you probably already have them.

This project uses CMake build system, so you need to install it in order to build the project (on most Linux distributions it is available in the standard repositories as a package called cmake).

Also you can open and build/debug the project in a C++ IDE. For example, in Qt Creator you should be able to simply open CMakeLists.txt via Open File or Project in the menu after installing CMake into your system. More information about CMake projects in Qt Creator.

(back to top)

Dependencies

  • GCC / MSVC
  • CMake
  • Qt >= 6.4
    • qtbase
    • qtimageformats
    • qtsvg
    • qtmultimedia
    • qttools

Build

  1. Clone the repo, make sure to pass --depth=1 to reduce the download size
  git clone --depth=1 -b main https://github.com/0xzer0x/quran-companion.git

Windows

  1. Install Qt using the online installer, make sure to select Qt Multimedia & Qt image formats

  2. Add the Qt bin directory to the system PATH variable, usually C:\Qt\6.X.X\mingw_64\bin

  3. Build (replace 6.x.x with the Qt version you installed)

  mkdir build
  cd build
  cmake.exe -DCMAKE_PREFIX_PATH="C:\Qt\6.x.x\mingw_64" -DCMAKE_BUILD_TYPE=Release -G "Ninja" ..
  ninja

Linux

  1. Install dependencies (through the Qt online installer or using your distro's package manager)
  • Ubuntu
sudo apt install build-essential cmake qt6-tools-dev qt6-base-dev qt6-image-formats-plugins qt6-multimedia-dev qt6-l10n-tools qt6-translations-l10n ffmpeg
  • Arch linux
sudo pacman -Sy base-devel cmake qt6-base qt6-multimedia qt6-tools qt6-imageformats qt6-translations ffmpeg
  1. Build

Note: if you installed Qt through the online installer, you need to pass -DCMAKE_PREFIX_PATH=~/Qt/6.x.x/gcc_64 to CMake in order for the linker to find the Qt libs

  mkdir build
  cd build
  cmake ..
  make
  1. If you're using Qt 6.4, you need to set the QT_MEDIA_BACKEND environmental variable to ffmpeg every time you run the executable, you could put the following snippet in a bash file to run the application
export QT_MEDIA_BACKEND=ffmpeg
./quran-companion

(back to top)

Roadmap ๐ŸŽฏ

  • Add daily verse functionality
  • Add bookmarked verses tab
  • Enhance search functionality
    • Search in a range of pages only
    • Search in a specific surah only
  • Add new tafsir books
    • Aysar Al-Tafasir (al-Jazaeri)
    • al-Tashil li Ulum al-Tanzil (Ibn Juzayy)
    • Adwa' ul-Bayan (al-Shinqiti)

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing ๐Ÿ’ก

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Documetation ๐Ÿ“š

  • Doxygen documentation is provided for the project, to generate the documentation preform the following steps

    • git clone https://github.com/0xzer0x/quran-companion.git
    • cd quran-companion/docs
    • doxygen
  • default documentaion format is html, if you want to generate any other format modify Doxyfile accordingly

Translation ๐ŸŒ

Look at this wiki page

Recitations ๐Ÿ“ป

Look at this wiki page

(back to top)

Credits ๐Ÿ“Œ

The following projects/services were used in development:

(back to top)

License

Distributed under the Waqf General Public License. See license-en.txt for the English version.

(back to top)

Contact

0xzer0x - [email protected]

Project Link: https://github.com/0xzer0x/quran-companion

(back to top)

About

๐Ÿ’ป cross-platform desktop offline Quran reader & player

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.2%
  • CMake 1.8%