AbdelwadoudOmrachi سعدت كذلك بالمساهمة في مشروع RATQ والعمل على مهمة تطوير معاينة الموارد الصوتية. المشكلة: كانت معاينة الصوت تعتمد على مشغل المتصفح الافتراضي، لكن المشكلة الأساسية أن نظام المعاينة نفسه لم يكن يجلب بيانات صوتية حقيقية، لأن usePreview كان يحتوي على جزء غير مكتمل يعيد null. كما أن بيانات مهمة مثل رابط الملف الصوتي، اسم القارئ وجودة الصوت لم تكن متوفرة في مسار البيانات المستخدم للمشغل. طريقة الحل التي اعتمدتها: إصلاح usePreview ليقرأ بيانات المورد الحقيقية بدل إرجاع حالة فارغة. إضافة الحقول المطلوبة إلى نموذج بيانات الموارد، مثل رابط الصوت واسم القارئ والجودة والصورة، مع migration مناسبة. تمرير هذه البيانات من الـbackend إلى الواجهة عبر الـresource mapper. استبدال مشغل المتصفح بمشغل مخصص يحتوي على تشغيل/إيقاف، شريط تقدم قابل للتقديم والتأخير، والوقت المنقضي والمتبقي. عرض اسم القارئ والجودة فقط عند توفرهما، واستخراج صيغة الملف من امتداده بدل تخمينها. دعم العربية والإنجليزية، وإتاحة التحكم من لوحة المفاتيح وتحسين accessibility. عدم إضافة أي network calls جديدة إلى مسار المعاينة. بعد مراجعة CodeRabbit تمت أيضًا معالجة ملاحظات إضافية تخص التعامل مع أخطاء التشغيل، وإتاحة معلومات الوقت لقارئات الشاشة، وتحديث مدة الملف عند تغيرها. النتيجة: أصبحت المعاينة الصوتية تعتمد على بيانات حقيقية وتقدم مشغلًا كاملًا وقابلًا للاستخدام والوصول، بدل الـstub والمشغل الافتراضي السابق. تمت مراجعة الحل واختباره من المشرف، ثم تمت الموافقة عليه ودمجه وإغلاق المهمة. Pull Request: https://github.com/Itqan-community/RATQ/pull/314 Issue: https://github.com/Itqan-community/RATQ/issues/297
علا صالح بارك الله فيك عبد الودود وشكرًا لمشاركتنا لهذه المساهمة المميزة لدي سؤال بما أنك أضفت بيانات مثل اسم القارئ والجودة هل ترى فائدة في توسيع البيانات الوصفية للموارد الصوتية القرآنية مستقبلًا لتشمل مثلًا الرواية أو السورة والآيات المرتبطة بالتسجيل..
أبو بكر عبد الرحمن Well done @AbdelwadoudOmrachi, ma-shaa-Allah. Fixing usePreview so it reads real resource data instead of returning null, and adding the seek bar with elapsed and remaining time, is solid work. Shukran for the write-up, Barakallahu feek.
علي ملص عمل ممتاز ومساهمة مهمة ما شاء الله عليك. أعجبني الاهتمام بإمكانية الوصول (Accessibility) والتحكم عبر لوحة المفاتيح ودعم قارئات الشاشة. جزاك الله خيرًا ونفع بك.
AbdelwadoudOmrachi بارك الله فيك. نعم، أرى أن هذا سيكون مفيدًا جدًا خصوصًا إذا توسعت المنصة في الموارد الصوتية مستقبلًا. وجود بيانات مثل الرواية والسورة ونطاق الآيات سيجعل البحث والتصفية وعرض المعلومات للمستخدم أدق بكثير. لكن برأيي الأفضل إضافتها حسب الحاجة الفعلية للمنتج، حتى لا يصبح نموذج البيانات أكبر من المطلوب. في هذه المهمة التزمت بالحقول اللازمة للمشغل فقط، مثل اسم القارئ والجودة ورابط الملف. ولو تطور الاستخدام لاحقًا، فإضافة هذه البيانات ستكون خطوة منطقية جدًا.
AbdelwadoudOmrachi Jazak Allah khayran, really appreciate it. Glad the implementation and write-up were useful. Barakallahu feek.
AbdelwadoudOmrachi جزاك الله خيرًا أخي علي، بارك الله فيك. حاولت أن يكون المشغل قابلًا للاستخدام للجميع قدر الإمكان، وليس فقط أن يعمل من الناحية الوظيفية. سعيد أن هذه النقطة لفتت انتباهك.