IlmQuiz is an interactive Islamic quiz game designed to enrich religious knowledge in a fun and engaging way. Built as an open-source application, it runs efficiently across all operating systems with a strong focus on accessibility, ensuring an inclusive experience for everyone, including blind and visually impaired users.
Key Features:
Graded Gameplay: Offers multiple categories (e.g., Tafsir, Aqidah, Fiqh) and three difficulty levels (Easy, Medium, Hard) to cater to varying skill levels.
Complete Accessibility Support: Designed with deep support for screen readers, ensuring full usability for visually impaired users.
Smart Auto-Updater: Automatically checks for updates in the background and installs them silently without user intervention.
Beautiful User Interface: Features a sleek design with themes (Dark Mode, High Contrast), dynamic font scaling, and smooth animations.
Audience & Benefit:
Ideal for Muslims of all ages seeking to deepen their Islamic knowledge. The game provides an inclusive and engaging platform to learn and test religious understanding in a fun manner, ensuring accessibility for everyone, regardless of visual ability.
Available via winget for easy installation.
README
🕌 IlmQuiz (Islamic Knowledge Challenge )- تحدي المعرفة الإسلامية
IlmQuiz هي لعبة مسابقات ثقافية إسلامية تفاعلية ومفتوحة المصدر، تهدف إلى إثراء المعرفة الدينية بطريقة ممتعة وشيقة. تم تصميم اللعبة لتعمل على جميع أنظمة التشغيل بكفاءة عالية، مع التركيز الاستثنائي على إمكانية الوصول (Accessibility) لضمان تجربة لعب شاملة للجميع، بما في ذلك المكفوفين وضعاف البصر.
✨ المميزات الرئيسية (Key Features)
🎯 تجربة لعب متدرجة: تحتوي اللعبة على تصنيفات متعددة (تفسير، عقيدة، فقه، سيرة، حديث، لغة عربية) مع 3 مستويات صعوبة (سهل، متوسط، صعب) تفتح تدريجياً.
♿ إمكانية الوصول الكاملة (100% Accessible): دعم برمجي عميق لقارئات الشاشة عبر محرك TTS مخصص:
Windows: مدعوم عبر UniversalSpeech (NVDA, JAWS, SAPI).
macOS: دعم مباشر لـ VoiceOver عبر appscript و osascript.
Linux: دعم لـ Orca و Speech-Dispatcher.
🔄 نظام تحديث تلقائي (Smart Auto-Updater): نظام مدمج يفحص التحديثات في الخلفية ويقوم بتنزيلها وتثبيتها بصمت (Silently) دون تدخل المستخدم، مع دعم النسخ المثبتة والمحمولة.
🎨 واجهة مستخدم مرنة وجميلة: * تصميم يعتمد على QStackedWidget لانتقالات سريعة.
تأثيرات بصرية حركية (Fade, Shake, Glow).
الوضع الليلي (Dark Theme) ووضع التباين العالي (High Contrast).
إمكانية تكبير خط الأسئلة برمجياً (Dynamic Font Scaling).
⚙️ معمارية قوية (MVVM): كود نظيف ومفصول إلى طبقات (Core, Data, Services, UI) لتسهيل الصيانة والتطوير.
📥 التحميل والتثبيت (Downloads)
اللعبة متاحة للتحميل مجاناً لجميع أنظمة التشغيل (نسخ تثبيت ونسخ محمولة).
يمكنك تحميل أحدث إصدار من صفحة الإصدارات (Releases).
Windows:IlmQuiz_Setup_vX.X.X.exe (تثبيت) أو IlmQuiz_Windows_Portable.zip (محمولة)
macOS:IlmQuiz_macOS_Installer.dmg (تثبيت) أو (محمولة)
يعتمد المشروع على معمارية الطبقات لضمان نظافة الكود (Clean Code):
core/: يحتوي على محرك اللعبة الأساسي (GameEngine) وإدارة الحالة وإعدادات المسارات الثابتة.
data/: يتعامل مع قاعدة بيانات SQLite ويحتوي على النماذج (Models) ونظام الـ Queries السريع.
services/: يحتوي على الخدمات المنفصلة (نظام التحديثات، نظام تحويل النص لكلام TTS، الصوتيات، وإدارة الإعدادات).
ui/: يحتوي على نوافذ الواجهة (Windows)، المكونات المشتركة، والتأثيرات البصرية، ونموذج العرض (GameViewModel).
apply_update.py: سكربت خارجي مستقل لإدارة الكتابة فوق الملفات أثناء التحديث التلقائي.
⚙️ البناء والنشر الأوتوماتيكي (CI/CD)
يستخدم المشروع GitHub Actions مع مكتبة cx_Freeze و Inno Setup لعملية البناء المؤتمتة.
بمجرد رفع كود جديد إلى فرع release، ستقوم خوادم GitHub ببناء وإنتاج 6 ملفات مختلفة (نسخ تثبيت ونسخ محمولة للأنظمة الثلاثة) ورفعها تلقائياً.
🤝 المساهمة (Contributing)
نرحب بجميع المساهمات! سواء كان ذلك بإصلاح أخطاء، تحسين الأداء، إضافة أسئلة جديدة، أو تحسين دعم قارئات الشاشة.
قم بعمل Fork للمشروع.
قم بإنشاء فرع جديد (git checkout -b feature/AmazingFeature).
قم بتوثيق تعديلاتك (git commit -m 'Add some AmazingFeature').