عن المشروع
تطبيق «القرآن الكريم» مشروع عربي مفتوح المصدر برخصة MIT، يتيح قراءة القرآن والاستماع إليه والبحث فيه والاطلاع على التفسير، ويعمل في متصفح الويب وعلى أجهزة أندرويد. الإصدار الحالي المذكور في المستودع هو 3.1.20، ويوزَّع ملف APK بتوقيع Debug لأغراض الاختبار الميداني مع نسخة ويب منشورة على GitHub Pages. يدعم المشروع ثماني لغات واجهة: العربية والإنجليزية والفرنسية والألمانية والروسية والتركية والملايوية والإندونيسية، مع دعم اتجاه RTL للعربية.
في القراءة يعرض التطبيق 114 سورة بالخط العثماني مصدرها AlQuran.cloud، مع تنقل بين السور وحفظ آخر موضع، وتظليل الآية الجارية، و15 علامة سجدة، وفواصل الأجزاء الثلاثين، وشريط تقدم مرتبط بالتمرير. ويتيح التحكم بحجم الخط (16–45 بكسل) ونوعه (Amiri وScheherazade New وReem Kufi) وتباعد الأسطر، وخمس ترجمات لمعاني القرآن، و18 قاعدة تجويد ملوّنة بنمط نهاري وليلي، ووضع حفظ يخفي النص للتدريب على الاسترجاع، إضافة إلى «غرفة الحفظ» بستارة تكشف الآية عند الطلب مع قارئ وسرعة وتكرار نطاق. ويوجد خيار لخط حفص العثماني الرسمي من مجمع الملك فهد لطباعة المصحف الشريف يُطبَّق على وضع السورة، مع بقاء وضع المصحف الصفحي على QCF4، وبيانات مصحف دون اتصال لتخطيطات 604 صفحات تُنزَّل اختياريًا بعد فحص بصمة SHA-256 لكل ملف.
أما الاستماع فيشمل أكثر من 30 قارئًا، ومصدرين صوتيين: صوت لكل آية عبر واجهة برمجية، وملف MP3 كامل للسورة مع توقيتات من mp3quran.net، مع تظليل الكلمة بكلمة عبر واجهة quran.com. ويوفّر تشغيلًا متصلًا بين السور، وأوضاع تكرار (إيقاف، آية، سورة، نطاق مخصص)، ومؤقت نوم من 1 إلى 180 دقيقة، وتحكمًا بالسرعة، وتكاملًا مع MediaSession لضوابط شاشة القفل، ومحاولات إعادة تلقائية، ومُحيّطًا صوتيًا على Canvas، وتشغيلًا انطلاقًا من رقم الآية، وإشعار إتمام الختمة. وتستطيع الحزمة دون اتصال تخزين نص القرآن والترجمات وبيانات التجويد وخطوط QCF4 وصوت القارئ المختار في IndexedDB بسقف 200 ميجابايت مع إخلاء LRU، مع إحصاءات تخزين وحذف انتقائي أو كامل.
يتضمن البحث محركًا يغطي 6,236 آية ويطابق النص مع التشكيل أو بدونه، مع إبراز النتائج واقتراحات بادئات الكلمات وسجل لآخر عشر عمليات بحث وبحث صوتي عبر Web Speech API بالعربية ولوحة مفاتيح عربية على الشاشة ونتائج مُصفّحة. وتشمل التفاسير ستة إصدارات (الميسر وابن كثير والطبري والسعدي والبغوي والقرطبي) بتحميل متدرج من المحلي إلى IndexedDB إلى الواجهة البرمجية، وتخزين مؤقت في قاعدة QuranTafsirDB. وتوجد ميزة «تأمل في الآية» تعرض ثلاثة أسئلة تدبرية بلا حقل كتابة أو حساب أو إرسال إلى خدمة ذكاء اصطناعي، وبيانات محلية تعمل دون اتصال، وتُظهر فقط للآيات التي اكتملت أسئلتها، مع تنبيه بأنها وسيلة تدبر شخصي لا تفسير معتمد.
ويعرض «وضع المصحف» خطوط QCF V4 على Canvas عبر 604 صفحات مع تلوين تجويد لكل كلمة، وكشف الآية المنقورة للتشغيل والتفسير، وتحميلًا مسبقًا للصفحات المجاورة. ويقدّم «وضع العرض» عرضًا ملء الشاشة بخلفيات سادة وطبيعية وحسب المزاج والوقت ومشاهد Canvas (نجوم وأمواج وشفق وجسيمات ومطر)، مع إمكانية إعداد صورة عريضة للآية أو فيديو HD محلي بخلفية متحركة وصوت مشارى العفاسي، وتُعالج المعالجة على جهاز المستخدم. وتُكمّل التطبيق مواقيت الصلاة عبر Aladhan مع ستة أوقات وتنبيه أذان وتاريخ هجري بتقويم أم القرى وبوصلة قبلة، وأذكار الصباح والمساء وأذكار مخصصة بعدّاد وإشعارات وإعادة تعيين يومية، ومفضلة وعلامات مرجعية بتصدير نصي أو JSON، وإحصاءات قراءة، وأربعة أنماط عرض تشمل وضعًا ليليًا عميقًا، ومشاركة أصلية عبر Capacitor Share أو Web Share API مع واتساب وتيليجرام، واختصارات لوحة مفاتيح، وسمات إمكانية وصول تشمل فخ التركيز ومناطق ARIA الحية ورابط تخطي المحتوى واحترام تقليل الحركة والتباين العالي.
تقنيًا يعتمد المشروع على TypeScript 6.0 في وضع صارم، وVite 8 مع LightningCSS، وvite-plugin-pwa (Workbox) للـPWA، وCapacitor 8 لحزمة أندرويد، وإدارة حالة تفاعلية مبنية على Proxy دون إطار عمل خارجي، وتخزينًا في localStorage وثلاث قواعد IndexedDB (QuranAppDB وQuranAudioCacheDB وQuranTafsirDB). وواجهاته البرمجية الخارجية: AlQuran.cloud وAladhan وواجهة التفسير عبر jsDelivr وmp3quran.net وquran.com. وتشمل خطوط CI/CD: فحص lint والأنواع واختبارات الوحدة بتغطية لا تقل عن 80%، واختبارات Playwright على أربعة مشاريع (chromium وfirefox وwebkit وmobile-chrome)، وCodeQL، وفحص OWASP ZAP الأساسي، وLighthouse CI، وفحص axe-core دون مخالفات WCAG، ومراقبة حجم الحزمة وميزانية أداء، وتوليد TypeDoc، وnpm audit وفحص الرخص، ونشرًا تلقائيًا عند إصدار وسم.
يذكر المستودع أنه يضم 3,812 اختبار وحدة و284 حالة اختبار واجهة، وأن نتائج Lighthouse لبناء إنتاجي محلي بلغت 93 للأداء و100 لإمكانية الوصول و96 لأفضل الممارسات و91 لتحسين محركات البحث، مع التأكيد على أن هذا تقييم فني داخلي وليس شهادة خارجية مستقلة. وللتشغيل محليًا يلزم Node.js 22 أو أحدث، ثم npm install، مع أوامر للتطوير (المنفذ 3000) والبناء والمعاينة والاختبارات الوحدية وE2E وفحص الكود وبناء أندرويد. ولا يحتاج من يريد التطبيق فقط إلى بناء المشروع، بل ينزّل ملف APK مباشرة. ويقدّم المستودع أيضًا دليل تقييم تقني يوضح ما يمكن فحصه وما يعمل دون إنترنت والقيود المعروفة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.