منصوبے کے بارے میں

«القرآن الكريم» ایپ MIT لائسنس کے تحت ایک اوپن سورس عربی پروجیکٹ ہے، جو قرآن پڑھنے، سننے، تلاش کرنے اور تفسیر دیکھنے کی سہولت فراہم کرتا ہے۔ یہ ویب براؤزر اور اینڈرائیڈ ڈیوائسز پر کام کرتی ہے۔ موجودہ ورژن 3.1.20 ہے، جس کی APK فائل ٹیسٹنگ کے لیے اور ویب ورژن GitHub Pages پر دستیاب ہے۔ یہ پروجیکٹ عربی، انگریزی، فرانسیسی، جرمن، روسی، ترکی، ملیشین اور انڈونیشین سمیت آٹھ زبانوں کے انٹرفیس کو سپورٹ کرتا ہے، اور عربی کے لیے RTL سمت کی سہولت موجود ہے۔ مطالعہ کے حوالے سے، ایپ AlQuran.cloud سے حاصل کردہ عثمانی خط میں 114 سورتیں پیش کرتی ہے، جس میں سورتوں کے درمیان نیویگیشن، آخری مقام کی یاداشت، موجودہ آیت کی ہائی لائٹنگ، 15 سجدہ نشانات، تیس پاروں کے وقفے اور اسکرولنگ سے منسلک پروگریس بار شامل ہے۔ صارف فونٹ کا سائز (16-45 پکسل)، فونٹ کی قسم (Amiri, Scheherazade New, Reem Kufi) اور لائنوں کے درمیان فاصلے کو کنٹرول کر سکتا ہے۔ اس میں پانچ تراجم، رنگین تجوید کے 18 قواعد (ڈے اور نائٹ موڈ کے ساتھ)، اور یاد کرنے کے لیے ایک 'حفظ موڈ' موجود ہے جو متن کو چھپا دیتا ہے۔ اس کے علاوہ ایک 'حفظ روم' ہے جس میں پردے کے ذریعے آیت کو ضرورت کے مطابق ظاہر کیا جا سکتا ہے، ساتھ ہی قاری، رفتار اور تکرار کی حد کا انتخاب بھی ممکن ہے۔ کنگ فہد کمپلیکس کے آفیشل عثمانی خط کا آپشن سورت موڈ کے لیے دستیاب ہے، جبکہ صفحہ موڈ QCF4 پر مبنی ہے، اور 604 صفحات کے آف لائن ڈیٹا کو SHA-256 ہیش چیک کے بعد ڈاؤن لوڈ کیا جا سکتا ہے۔ سماعت کے لیے 30 سے زائد قاری دستیاب ہیں اور دو آڈیو ذرائع استعمال کیے گئے ہیں: API کے ذریعے ہر آیت کی آواز اور mp3quran.net سے سورت کی مکمل MP3 فائل۔ quran.com کے انٹرفیس کے ذریعے لفظ بہ لفظ ہائی لائٹنگ کی سہولت موجود ہے۔ ایپ سورتوں کے درمیان مسلسل پلے بیک، تکرار کے مختلف موڈز (بند، آیت، سورت، مخصوص رینج)، 1 سے 180 منٹ کا سلیپ ٹائمر، رفتار کنٹرول، لاک اسکرین کے لیے MediaSession انٹیگریشن، اور مکمل ختمہ ہونے پر نوٹیفکیشن فراہم کرتی ہے۔ آف لائن پیکج IndexedDB میں قرآن کا متن، تراجم، تجوید ڈیٹا، QCF4 فونٹس اور منتخب قاری کی آواز کو 200MB کی حد تک اسٹور کر سکتا ہے، جس میں LRU کلیئرنس اور اسٹوریج اعداد و شمار کی سہولت موجود ہے۔ تلاش کے انجن میں 6,236 آیات شامل ہیں جو اعراب کے ساتھ یا بغیر میچ کرتی ہیں، جس میں نتائج کی ہائی لائٹنگ، لفظی تجاویز، آخری دس سرچز کی ہسٹری اور Web Speech API کے ذریعے عربی صوتی تلاش شامل ہے۔ تفاسیر میں چھ ورژن (المیسر، ابن کثیر، الطبری، السعدی، البغوی اور القرطبی) شامل ہیں جو مقامی اسٹوریج، IndexedDB اور API کے ذریعے مرحلہ وار لوڈ ہوتے ہیں اور QuranTafsirDB میں کیش کیے جاتے ہیں۔ 'آیت پر غور' (تأمل في الآية) کا فیچر تین تدبری سوالات پیش کرتا ہے، جو مقامی ڈیٹا پر کام کرتا ہے اور صرف ان آیات کے لیے ظاہر ہوتا ہے جن کے سوالات مکمل ہیں، ساتھ ہی یہ تنبیہ بھی دی گئی ہے کہ یہ ذاتی تدبر کا ذریعہ ہے، مستند تفسیر نہیں۔ «مصحف موڈ» کینوس (Canvas) پر QCF V4 فونٹس کے ذریعے 604 صفحات دکھاتا ہے جس میں ہر لفظ کی تجوید کلرنگ اور کلک کرنے پر آیت کی پلے بیک اور تفسیر کی سہولت ہے۔ «ڈسپلے موڈ» فل اسکرین ویو فراہم کرتا ہے جس میں سادہ، قدرتی اور موڈ/وقت کے مطابق بیک گراؤنڈز کے ساتھ ساتھ کینوس مناظر (ستارے، لہریں، شفق، بارش) شامل ہیں۔ صارف اپنی مقامی HD ویڈیو یا تصویر کو بیک گراؤنڈ کے طور پر سیٹ کر سکتا ہے جس میں مشاری العفاسی کی آواز شامل ہو سکتی ہے، اور تمام پروسیسنگ صارف کے آلے پر ہوتی ہے۔ ایپ میں Aladhan کے ذریعے نماز کے اوقات، اذان کے الرٹس، ام القری کیلنڈر کے مطابق ہجری تاریخ اور قبلہ نما شامل ہے۔ اس کے علاوہ صبح و شام کے اذکار، تسبیح کاؤنٹر، پسندیدہ آیات اور بُک مارکس (JSON یا ٹیکسٹ ایکسپورٹ کے ساتھ)، پڑھنے کے اعداد و شمار، اور چار ڈسپلے موڈز (بشمول ڈیپ نائٹ موڈ) موجود ہیں۔ شیئرنگ کے لیے Capacitor Share یا Web Share API کا استعمال کیا گیا ہے، اور رسائی (Accessibility) کے لیے ARIA لائیو ریجنز اور ہائی کنٹراسٹ جیسے فیچرز شامل ہیں۔ تکنیکی طور پر، پروجیکٹ TypeScript 6.0 (اسٹریکٹ موڈ)، Vite 8، LightningCSS، PWA کے لیے vite-plugin-pwa (Workbox) اور اینڈرائیڈ کے لیے Capacitor 8 پر مبنی ہے۔ اسٹیٹ مینجمنٹ کے لیے کسی بیرونی فریم ورک کے بجائے Proxy کا استعمال کیا گیا ہے، اور اسٹوریج کے لیے localStorage اور تین IndexedDB ڈیٹا بیسز (QuranAppDB, QuranAudioCacheDB, QuranTafsirDB) استعمال ہوتے ہیں۔ بیرونی APIs میں AlQuran.cloud, Aladhan, jsDelivr, mp3quran.net اور quran.com شامل ہیں۔ CI/CD پائپ لائن میں linting، ٹائپ چیکنگ، 80% کوریج کے ساتھ یونٹ ٹیسٹ، چار مختلف پروجیکٹس پر Playwright E2E ٹیسٹ، CodeQL، OWASP ZAP، Lighthouse CI، اور WCAG کے مطابق axe-core چیک شامل ہیں۔ ریپوزٹری کے مطابق، اس میں 3,812 یونٹ ٹیسٹ اور 284 UI ٹیسٹ کیسز شامل ہیں۔ مقامی پروڈکشن بلڈ کے لیے Lighthouse کے نتائج پرفارمنس کے لیے 93، ایکسیسبیلٹی کے لیے 100، بیسٹ پریکٹسز کے لیے 96 اور SEO کے لیے 91 رہے، جسے ایک اندرونی تکنیکی تشخیص قرار دیا گیا ہے۔ مقامی طور پر چلانے کے لیے Node.js 22 یا اس سے نیا ورژن درکار ہے، جس کے بعد npm install کے ذریعے ڈویلپمنٹ، بلڈ، ٹیسٹنگ اور اینڈرائیڈ بلڈ کی کمانڈز استعمال کی جا سکتی ہیں۔ عام صارفین کے لیے براہ راست APK ڈاؤن لوڈ کرنے کی سہولت موجود ہے۔ ریپوزٹری میں ایک تکنیکی تشخیص گائیڈ بھی ہے جو آف لائن کام کرنے والے فیچرز اور معلوم حدود کی وضاحت کرتی ہے۔