Holy Qur'an Application. Developed using Flutter

Overview

The Holy Qur'an

Application of Holy book of Muslims, Al-Qur'an. Developed using Flutter The data is fetched using API. So, it is not being stored locally. Information about API is given at the bottom of README.md

Open Source Love svg1 GitHub Forks GitHub Issues contributions welcome

📁 Download Now

Get it from Play Store

🎥 Promo Video

Watch the promo video here.

💻 Installation steps

It will be best compatible with Flutter 1.22 version.

Open CMD where you want to clone the project & run the following commands

git clone https://github.com/mhmzdev/The_Holy_Quran_App.git
cd The_Holy_Quran_App
flutter packages get
flutter run

📱 Screen Shots

Light Mode Theme

🔗 API Information

API Used: https://alquran.cloud/api

🎯 Features to be added

  • Offline Mode
  • Translations
  • Audio Mode

🔑 License

  • This project is licensed under the MIT License - see the LICENSE file for details

🧑 Author

Muhammad Hamza

LinkedIn Link

You can also follow my GitHub Profile to stay updated about my latest projects:

GitHub Follow

If you liked the repo then kindly support it by giving it a star !

Copyright (c) 2020 MUHAMMAD HAMZA

Comments
  • I gave this app to my non-muslim gf, and she slapped me some Ayats:

    I gave this app to my non-muslim gf, and she slapped me some Ayats:

    Can anyone please tell whether the app is authentic or not? I solely believe Quran can never contain such verses, it only talks about Humanity and Brotherhood..

    And these are some of the verses that she told me to check:

    🔹Qu'ran 2:223 "Your wives are a place of sowing of seed for you, so come to your place of cultivation however you wish and put forth [righteousness] for yourselves. And fear Allah and know that you will meet Him. And give good tidings to the believers." 🔹Qu'ran 2:221 "And do not marry polytheistic men [to your women] until they believe. And a believing slave is better than a polytheist, even though he might please you. Those invite [you] to the Fire, but Allah invites to Paradise and to forgiveness, by His permission. And He makes clear His verses to the people that perhaps they may remember.” 🔹Qu'ran 3:151 "We will cast terror into the hearts of those who disbelieve for what they have associated with Allah of which He had not sent down [any] authority. And their refuge will be the Fire, and wretched is the residence of the wrongdoers." 🔹Qu'ran 48:29 "Muhammad is the Messenger of Allah; and those with him are forceful against the disbelievers, merciful among themselves. You see them bowing and prostrating [in prayer], seeking bounty from Allah and [His] pleasure. Their mark is on their faces from the trace of prostration. That is their description in the Torah. And their description in the Gospel is as a plant which produces its offshoots and strengthens them so they grow firm and stand upon their stalks, delighting the sowers - so that Allah may enrage by them the disbelievers. Allah has promised those who believe and do righteous deeds among them forgiveness and a great reward." 🔹Qu'ran 8:55 "Indeed, the worst of living creatures in the sight of Allah are those who have disbelieved, and they will not [ever] believe." 🔹Qu'ran 98:6 "Indeed, they who disbelieved among the People of the Scripture and the polytheists will be in the fire of Hell, abiding eternally therein. Those are the worst of creatures." 🔹Qu'ran 33:26 "And He brought down those who supported them among the People of the Scripture from their fortresses and cast terror into their hearts [so that] a party you killed, and you took captive a party." 🔹Qu'ran 3:32 "Say, "Obey Allah and the Messenger." But if they turn away - then indeed, Allah does not like the disbelievers." 🔹Qu'ran 3:28 "Let not believers take disbelievers as allies rather than believers. And whoever [of you] does that has nothing with Allah, except when taking precaution against them in prudence. And Allah warns you of Himself, and to Allah is the [final] destination." 🔹Qu'ran 4:89 "They wish you would disbelieve as they disbelieved so you would be alike. So do not take from among them allies until they emigrate for the cause of Allah. But if they turn away, then seize them and kill them wherever you find them and take not from among them any ally or helper." 🔹Qu'ran 9:5 "And when the sacred months have passed, then kill the polytheists wherever you find them and capture them and besiege them and sit in wait for them at every place of ambush. But if they should repent, establish prayer, and give zakah, let them [go] on their way. Indeed, Allah is Forgiving and Merciful." 🔹Qu'ran 9:73 "O Prophet, carry out Jihād against the disbelievers and hypocrites, and be strict with them. And their abode is Jahannam (Hell), and it is an evil terminus." 🔹Qu'ran 9:123 "O you who believe, fight those disbelievers who are near you, and let them find severity in you. Know well that Allah is with the God-fearing. 🔹Qu'ran 8:39 "And fight them until there is no fitnah and [until] the religion, all of it, is for Allah. And if they cease - then indeed, Allah is Seeing of what they do." 🔹Qu'ran 5:33 "Indeed, the penalty for those who wage war against Allah and His Messenger and strive upon earth [to cause] corruption is none but that they be killed or crucified or that their hands and feet be cut off from opposite sides or that they be exiled from the land. That is for them a disgrace in this world; and for them in the Hereafter is a great punishment"

    opened by TheNonSmoker 4
  • Though about fultter

    Though about fultter

    As you may know , flutter is developped by Google , wich is openly supporting isreal and in their ToS you can read clearly that through flutter sdk they take "analystic data" and they have right to share it with 3rd parties . With the recent leak of data of million of people trough muslim pro "https://www.vice.com/en/article/jgqm5x/us-military-location-data-xmode-locate-x", i think it's not very good to use flutter , i know that your goal was to make a useful app and i understand that, however with that being , google may do the same thing trough "analystic data" and it could be very bad for you and the end-users.

    This comment was not to say that the app is bad , i just wanted to tell you about that. I wanted myself to start making muslim prayer apps with dart & flutter , however after reading acknolwedgement and ToS , i fully understood that they can data of users at anytime wich wasn't my goal. It's very bad that today a lot of technologies are getting controlled by anti-muslim peoples. I hope you understand what i meant by writing all of this.

    Thank you for reading

    opened by System46 4
  • How are you handling the uStrings?

    How are you handling the uStrings?

    Hello was using ur project as a guide

    "\u0627\u0644\u0651\u064e\u0630\u0650\u064a \u064a\u064f\u0648\u064e\u0633\u0652\u0648\u0650\u0633\u064f \u0641\u0650\u064a \u0635\u064f\u062f\u064f\u0648\u0631\u0650 \u0627\u0644\u0646\u0651\u064e\u0627\u0633\u0650"

    That is the text that i returned from the api. how are you converting that to arabic text?

    opened by AhyaanTech 4
  • build.gradle' line: 56

    build.gradle' line: 56

    FAILURE: Build failed with an exception.

    • Where: Build file '/Users/wafaaabudawod/AndroidStudioProjects/The_Holy_Quran_App-master/android/app/build.gradle' line: 56

    • What went wrong: A problem occurred evaluating project ':app'.

    Cannot convert URL 'D:/_keys/alquran.jks' to a file.

    • Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    • Get more help at https://help.gradle.org

    BUILD FAILED in 6s Exception: Gradle task assembleDebug failed with exit code 1

    opened by wafahas 4
  • Bump async from 0.9.2 to 2.6.4

    Bump async from 0.9.2 to 2.6.4

    Bumps async from 0.9.2 to 2.6.4.

    Release notes

    Sourced from async's releases.

    v2.3.0

    • Added support for ES2017 async functions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass an async function. Previously, you had to wrap async functions with asyncify. The caveat is that it will only work if async functions are supported natively in your environment, transpiled implementations can't be detected. (#1386, #1390)

    v2.2.0

    • Added groupBy, and the Series/Limit equivalents, analogous to _.groupBy (#1364)
    • Fixed transform bug when callback was not passed (#1381)

    v2.1.5

    • Fix auto bug when function names collided with Array.prototype (#1358)
    • Improve some error messages (#1349)
    • Avoid stack overflow case in queue
    • Fixed an issue in some, every and find where processing would continue after the result was determined.
    • Cleanup implementations of some, every and find

    v2.1.3

    • Make bundle size smaller
    • Create optimized hotpath for filter in array case.

    v2.1.2

    • Fixed a stackoverflow bug with detect, some, every on large inputs (#1293).

    v2.1.0

    • retry and retryable now support an optional errorFilter function that determines if the task should retry on the error (#1256, #1261)
    • Optimized array iteration in race, cargo, queue, and priorityQueue (#1253)

    v2.0.0

    Lots of changes here!

    First and foremost, we have a slick new site for docs. Special thanks to @​hargasinski for his work converting our old docs to jsdoc format and implementing the new website. Also huge ups to @​ivanseidel for designing our new logo. It was a long process for both of these tasks, but I think these changes turned out extraordinary well.

    The biggest feature is modularization. You can now require("async/series") to only require the series function. Every Async library function is available this way. You still can require("async") to require the entire library, like you could do before.

    We also provide Async as a collection of ES2015 modules. You can now import {each} from 'async-es' or import waterfall from 'async-es/waterfall'. If you are using only a few Async functions, and are using a ES bundler such as Rollup, this can significantly lower your build size.

    Major thanks to @​Kikobeats, @​aearly and @​megawac for doing the majority of the modularization work, as well as @​jdalton and @​Rich-Harris for advisory work on the general modularization strategy.

    Another one of the general themes of the 2.0 release is standardization of what an "async" function is. We are now more strictly following the node-style continuation passing style. That is, an async function is a function that:

    1. Takes a variable number of arguments
    2. The last argument is always a callback
    3. The callback can accept any number of arguments
    4. The first argument passed to the callback will be treated as an error result, if the argument is truthy
    5. Any number of result arguments can be passed after the "error" argument
    6. The callback is called once and exactly once, either on the same tick or later tick of the JavaScript event loop.

    There were several cases where Async accepted some functions that did not strictly have these properties, most notably auto, every, some, and filter.

    Another theme is performance. We have eliminated internal deferrals in all cases where they make sense. For example, in waterfall and auto, there was a setImmediate between each task -- these deferrals have been removed. A setImmediate call can add up to 1ms of delay. This might not seem like a lot, but it can add up if you are using many Async functions in the course of processing a HTTP request, for example. Nearly all asynchronous functions that do I/O already have some sort of deferral built in, so the extra deferral is unnecessary. The trade-off of this change is removing our built-in stack-overflow defense. Many synchronous callback calls in series can quickly overflow the JS call stack. If you do have a function that is sometimes synchronous (calling its callback on the same tick), and are running into stack overflows, wrap it with async.ensureAsync().

    Another big performance win has been re-implementing queue, cargo, and priorityQueue with doubly linked lists instead of arrays. This has lead to queues being an order of magnitude faster on large sets of tasks.

    ... (truncated)

    Changelog

    Sourced from async's changelog.

    v2.6.4

    • Fix potential prototype pollution exploit (#1828)

    v2.6.3

    • Updated lodash to squelch a security warning (#1675)

    v2.6.2

    • Updated lodash to squelch a security warning (#1620)

    v2.6.1

    • Updated lodash to prevent npm audit warnings. (#1532, #1533)
    • Made async-es more optimized for webpack users (#1517)
    • Fixed a stack overflow with large collections and a synchronous iterator (#1514)
    • Various small fixes/chores (#1505, #1511, #1527, #1530)

    v2.6.0

    • Added missing aliases for many methods. Previously, you could not (e.g.) require('async/find') or use async.anyLimit. (#1483)
    • Improved queue performance. (#1448, #1454)
    • Add missing sourcemap (#1452, #1453)
    • Various doc updates (#1448, #1471, #1483)

    v2.5.0

    • Added concatLimit, the Limit equivalent of concat (#1426, #1430)
    • concat improvements: it now preserves order, handles falsy values and the iteratee callback takes a variable number of arguments (#1437, #1436)
    • Fixed an issue in queue where there was a size discrepancy between workersList().length and running() (#1428, #1429)
    • Various doc fixes (#1422, #1424)

    v2.4.1

    • Fixed a bug preventing functions wrapped with timeout() from being re-used. (#1418, #1419)

    v2.4.0

    • Added tryEach, for running async functions in parallel, where you only expect one to succeed. (#1365, #687)
    • Improved performance, most notably in parallel and waterfall (#1395)
    • Added queue.remove(), for removing items in a queue (#1397, #1391)
    • Fixed using eval, preventing Async from running in pages with Content Security Policy (#1404, #1403)
    • Fixed errors thrown in an asyncifyed function's callback being caught by the underlying Promise (#1408)
    • Fixed timing of queue.empty() (#1367)
    • Various doc fixes (#1314, #1394, #1412)

    v2.3.0

    • Added support for ES2017 async functions. Wherever you can pass a Node-style/CPS function that uses a callback, you can also pass an async function. Previously, you had to wrap async functions with asyncify. The caveat is that it will only work if async functions are supported natively in your environment, transpiled implementations can't be detected. (#1386, #1390)
    • Small doc fix (#1392)

    v2.2.0

    • Added groupBy, and the Series/Limit equivalents, analogous to _.groupBy (#1364)
    • Fixed transform bug when callback was not passed (#1381)
    • Added note about reflect to parallel docs (#1385)

    v2.1.5

    • Fix auto bug when function names collided with Array.prototype (#1358)

    ... (truncated)

    Commits
    Maintainer changes

    This version was pushed to npm by hargasinski, a new releaser for async since your current version.


    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 3
  • NoSuchMethodError: The getter 'juzAyahs' was called on null

    NoSuchMethodError: The getter 'juzAyahs' was called on null

    Another exception was thrown: NoSuchMethodError: The getter 'juzAyahs' was called on null.
    
    Another exception was thrown: A RenderFlex overflowed by 99810 pixels on the bottom.
    
    
    ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
    The following NoSuchMethodError was thrown building FutureBuilder<JuzModel>(dirty, state:
    _FutureBuilderState<JuzModel>#d7dfc):
    The getter 'juzAyahs' was called on null.
    Receiver: null
    Tried calling: juzAyahs
    
    The relevant error-causing widget was:
      FutureBuilder<JuzModel>
      FutureBuilder:file:///Users/ysfkc/mobile_projects/The_Holy_Quran_App/lib/view/juzz/juz_view.dart:102:11
    
    opened by ysfkc 1
  • show dialog error

    show dialog error

    The named parameter 'child' isn't defined. Try correcting the name to an existing named parameter's name, or defining a named parameter with the name 'child'.

    opened by mikealphakilo 1
  • ✅ Published - Version 2.5.0

    ✅ Published - Version 2.5.0

    ⬆ New Features

    • Search Surahs
    • Search Juz
    • Bookmarks

    ✔ Improvements

    • Offline mode improved
    • UI improved
    • Overall User experience improved
    • Flutter 2.10.4
    • Dart 2.15 - Sound Null Safety
    opened by mhmzdev 0
Owner
Muhammad Hamza
Flutter - UI/UX - Writer @Medium Find me @mhmzdev - YouTube @happyfluttering
Muhammad Hamza
Holy Qur'an Application. Developed using Flutter

The Holy Qur'an Application of Holy book of Muslims, Al-Qur'an. Developed using Flutter The data is fetched using API. So, it is not being stored loca

Muhammad Hamza 659 Dec 26, 2022
Application of Holy book of Muslims, Al-Qur'an

Application of Holy book of Muslims, Al-Qur'an. Developed using Flutter The data is fetched using API and now the offline mode is available. So, you need internet for the first time only!

App Tech Solutions 3 Sep 8, 2022
The Holy Bible in Brazilian Portuguese Built With Flutter

MyBible Este projeto tem o objetivo de democratizar o acesso à Bíblia Sagrada em

Willian de Mattos Silva 1 Dec 24, 2021
This is an application to display the Quran, prayer times and remembrances

My Prayer This is an application to display the Quran, prayer times and remembrances Downloads Holy Quran Bookmark Content SealPrayer Pages Ayahs View

Mohammad Ebbeni 11 Nov 28, 2022
Quran app built with Flutter

quran_app Quran app built with Flutter How to build from source You can use global flutter commands as usual, or you can install fvm: Install fvm Inst

Yunus Efendi 163 Dec 22, 2022
A simple Quran package for flutter with arabic text, english translation, bangla language and pronunciation

A simple Quran package for flutter with arabic text, english translation, bangla language and pronunciation. Also available audio link, revelation type and other information.

Khalid Hassan 2 Oct 10, 2022
This app for read quran in your smartphone

Alqurani This app has release in google play, free Google Play Features List of Surah Translate of surah Tafsir of surah List of daily du'a Contribute

fiaz 33 Oct 5, 2022
Read Quran && stay relaxed

ReadLax What is Readlax? ReadLax is an app that allows users to read Quran with there friends, familly or even other user of the app all around the wo

Read-Lax 4 Dec 26, 2022
This is Personal Expenses Planner. You can see and made any recipes from this application. I developed this project using flutter.

meals A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this is

Darshit Rudani 9 Jul 6, 2022
This is Quiz application. I developed this project using flutter.

first_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if thi

Darshit Rudani 9 Jul 6, 2022
Cactus - An application developed for the Android operating system, built using Flutter

Cactus ?? O cultivo de certos tipos de plantas exigem cuidados, pois existem pla

Miquéias Rodrigues 1 Dec 12, 2022
A Catalog Application Developed Using Flutter Framework/SDK.

Catalog_App A Catalog Application Developed Using Flutter Framework/SDK. Technologies Used Front-End : Flutter Custom Design (UI/UX) : VelocityX State

Adhil 2 Oct 9, 2022
This is GitLab application developed using GitLab's API & Flutter

GitLab Generated with ❤️ from Dhiwise GitLab application which is built with Flutter. It uses GitLab's API Table of Contents Features Screenshots Setu

DhiWise 3 Nov 1, 2022
A chat💬 application📱 developed using Flutter and Firebase along with feature of user authentication👩🏼‍💻

Chitty-Chat A chat ?? application ?? developed using Flutter and Firebase along with feature of user authentication????‍??. Along with it, it has the

Ashna Nizam 3 Sep 26, 2022
A blogging application where users can publish their blogs and articles and can connect with other authors, developed using Flutter and Firebase.

Utopia About the app A blogging application where users can publish their blogs and articles and can connect with other authors, developed using Flutt

Utopia 12 Jan 3, 2023
Blood Bank is cross platform mobile application that is developed using technologies like Flutter/Dart for frontend and Firebase for data storage

Blood Bank is cross platform mobile application that is developed using technologies like Flutter/Dart for frontend and Firebase for data storage. The sole goal of this application is to make blood donation resourceful and accessible all round the world.

Sajan Poudel 4 Nov 5, 2022
The read-a-book app is using static data. the application I developed has a homepage and detail page

book_app A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you started if this

Adil Ahmet Sargın 1 Nov 12, 2021