IlmQuiz is an interactive, open-source Islamic quiz game designed to enrich religious knowledge in a fun and engaging way. The game is built to run efficiently across all operating systems, with a strong focus on accessibility to ensure an inclusive experience for everyone, including blind and visually impaired users.
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').