Giter VIP home page Giter VIP logo

quran-companion's Introduction

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

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


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.

MacOS

  1. Download and open the application dmg.
  2. Drag the application into your Applications.

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.5
    • 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\msvc_2019\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\msvc_2019" -DCMAKE_BUILD_TYPE=Release ..
cmake.exe --build . --config Release

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 -DCMAKE_BUILD_TYPE=Release ..
cmake --build .

(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)

quran-companion's People

Contributors

0xzer0x avatar loayghreeb avatar razzeee avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

quran-companion's Issues

[Enhancement] Sepia Theme

Light theme is too bright and Dark theme is too dark :)

Can you please also include a Sepia theme like Quran.com has?

Bug: Zoom out also zooms in

To reproduce
Right click on page -> Zoom out

Expected
Zoom out

Result
Zoom in

System specs
Ryzen 5 3500U
Windows 11
Installed through: qc_online_installer_x64_win.exe

Also tested on
Intel i5 12600k
Fedora 38
Installed through: Flatpak

I cant stop zooming in help

adding more tafsir books

The feature request

need more tafsir books like ibn kasir and al tabari and moso3at el qera2at and other books which in online resources like quran.com or other quran sites

Proposed solution

u can add some way to make the program detect the book source and try to match it with ayat

Additional context

No response

Disable autoplay of Basmalah

Currently when I choose a Surah, I hear the Basmalah.
I think Basmalah audio should start only if I want to listen to the Surah.

ุฌุฒุงูƒู… ุงู„ู„ู‡ ุฎูŠุฑุง

App Image dependency error

As-salamu Alaykum,
Thank you for developing this Quran app. Allah cc. bless you.
Wehen i try to run app image latest release it give dependences error
Image: error while loading shared libraries: libb2.so.1: cannot open shared object file: No such file or directory
when i install libb2-1. this error fixed. but now it give qt6 and libc error

.../Applications/Quran_Companion-1.1.11-x86_64_7f57833a2a570367c511a6a70bd8576f.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_Quran_GcJjvX/usr/bin/../lib/libQt6Gui.so.6)
.../Applications/Quran_Companion-1.1.11-x86_64_7f57833a2a570367c511a6a70bd8576f.AppImage: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_Quran_GcJjvX/usr/bin/../lib/libQt6Gui.so.6)
.../Applications/Quran_Companion-1.1.11-x86_64_7f57833a2a570367c511a6a70bd8576f.AppImage: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.38' not found (required by /tmp/.mount_Quran_GcJjvX/usr/bin/../lib/libQt6Network.so.6)

my system (Pardus it based debian 12) has libc6 2.36-9

add said elkhater

The feature request

add said elkhater

Proposed solution

  1. on click an ayah, show in the small menu ,option to see khatera,
  2. simply popup form with current khatera number, and ad new khaters
  3. store khatera in json file
  4. very import in the setting >> option to export khtera>..

a feature in AL quran AI & tafsir by greentech company (not open source)

Additional context

No response

Error building on yay arch linux

The problem

i get this error

CMake Error at CMakeLists.txt:29 (add_subdirectory):
  The source directory

    /home/airbus/.cache/yay/quran-companion-git/src/quran-companion/third_party/QtAwesome

  does not contain a CMakeLists.txt file.

the command i ran is yay -S quran-companion-git

Release version

1.2.1-1

Operating system

Linux airbus 6.8.2-arch2-1 #1 SMP PREEMPT_DYNAMIC Thu, 28 Mar 2024 17:06:35 +0000 x86_64 GNU/Linux

Steps to reproduce the behavior

No response

Log files

No response

Screenshots

No response

Additional context

No response

Snap package on Snapcraft.io

Jazaakallaahu khairan for this useful app. Can you please package it as a Snap and publish on Snapcraft for Ubuntu and its official flavours?

I love Flatpak and Appimage and use them on my PC but our school PCs run Ubuntu and only Snaps run OK without issues.

Question about recitation

Hey brother, first of all I just wanted to say I've been using your program a lot and really love it. Thank you for your work.

I just had a question regarding the recitations. I wanted to ask if you used any program to cut the surahs into individual verses. There's a reciter I've been listening to recently and I was wondering if it would be possible for me to add in his recitation myself if I could figure out how you did this.

Regards.

Move audio controls to the sidebar

I assume most users use their screen in the landscape mode, so it is probably a good idea to save some screen real estate for the Quran page to get the font size slightly larger.

Having problem downloading Al-Baqarah recitation by Mishary Alafasy

The problem

I don't think it's a bug of the app but the download of Al-Baqarah recitation by Mishary Alafasy fails near the end. That didn't happened with other surah's or reciters.

Release version

Version 1.2.3 (flatpak)

Operating system

Fedora Linux 39 (Workstation Edition)

Steps to reproduce the behavior

  1. Go to download manager.
  2. Add Al-Baqarah recitation by Mishary Alafasy to queue.
  3. The download fails at the very end.

Log files

[Sat Feb 24 08:19:31 2024][WARNING] Couldn't load VAAPI library file: line: 0
[Sat Feb 24 08:19:31 2024][CRITICAL] verseIdxInPage is out of page coords range!!! file: line: 0

Screenshots

Screenshot from 2024-02-24 06-50-32
Screenshot from 2024-02-23 08-58-25

Additional context

I think using GitHub discussion for taking about these problems will be better.

faster show all translation

The feature request

faster show all tafsirs ....

Proposed solution

  • on click to ayah show pop up with tafsir (default value for tafsir muasser,and can change tafsir from same popup) that is a popular ui in quran apps

Additional context

No response

Surah's will cut and change to something else without playing to the end.

I've noticed this issue on quite a few surahs around the end of the quran, for example surah 93.

It will play half-way through but then randomly stop before it reaches the end and skip to a different surah.

I'm using Nassar Alqatami as a reciter.

This part isn't a bug, but I also have a request to have Yusuf Ali's translation added. It's one of my favorites and one of the most popular ones.

add ุฎุงุทุฑู‡

The feature request

if we can add ุฎุงุทุฑู‡ on each verse and store it in json file this will be great ุงู† ุดุงุก ุงู„ู„ู‡

Proposed solution

I think a simple json file can do it ...

Additional context

No response

Lost all translations

The problem

As-salamu alaykum

Sometime around the past few releases (I believe when you redid the ui colors) I've lost access to all english translations except the clear quran. I also don't have any option to see any tafseers other than the arabic al-sa'ady

Release version

latest version

Operating system

fedora 39, but my friend on windows 11 has the same issue.

Steps to reproduce the behavior

No response

Log files

No response

Screenshots

Screenshot at 2024-03-25 23-50-08
Screenshot at 2024-03-25 23-50-33

Additional context

I'm using the flatpak version of the app and have deleted and reinstalled it too, the issue still remains.

Changes to the UX/UI for easier studying

The feature request

I've been looking for an app for my Quranic studies on Linux, and I'm glad I found this app today.
I can see that the layout is very good for reading, but I'm wondering if another layout for studying is possible.
I usually need to check different interpretations or translations, but changing the interpretations is a manual process each time. Can there be a layout for people who need to quickly browse different interpretations and translations and maybe search them?
And thank you for the great app.

Proposed solution

A fourth layout for interpretations and translations

Additional context

No response

UI: Add Content Submenu in Download Manager

The feature request

Tafasir and translations submenus are hidden in the download manager UI. The UI needs to have categories for downloadable content for users to easily recognize it.

Proposed solution

Move all reciters to a new submenu 'recitations'. Add new submenu 'content' which contains the submenus for downloading tafasir and translations.

Additional context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.