لدي منصة تعليمية/امتحانات مبنية على WordPress باستخدام **Tutor LMS**، وأحتاج إلى مطور WordPress/PHP/JavaScript لديه خبرة حقيقية في Tutor LMS لتطوير بعض خصائص الـQuiz وتحسين تجربة الطالب.
المطلوب هو **إضافة هذه الخصائص فوق Tutor LMS الحالي** قدر الإمكان، بدون تعديل ملفات Core الخاصة بـTutor LMS بشكل مباشر، حتى لا تتأثر التعديلات عند تحديث النظام.
المطلوب:
1. تثبيت الأسئلة العشوائية لكل Attempt
عند استخدام Question Pool، مثل وجود 1000 سؤال وعرض 50 سؤالًا عشوائيًا:
* يتم اختيار الـ50 سؤالًا مرة واحدة عند إنشاء الـAttempt.
* يتم حفظ Question IDs الخاصة بهذا الـAttempt.
* عند عمل Refresh أو إعادة فتح نفس الـAttempt، تظهر نفس الأسئلة.
* عند إنهاء الـAttempt وبدء Attempt جديد، يتم اختيار مجموعة عشوائية جديدة.
بمعنى:
**Same Attempt = Same Questions**
**New Attempt = New Random Questions**
2. حفظ إجابات الطالب أثناء الـAttempt
أحتاج إلى أن تظل إجابات الطالب موجودة عند:
* Refresh
* Reload
* العودة إلى نفس الـAttempt
ويفضل عدم إرسال Request إلى السيرفر عند كل تغيير في الإجابة.
يمكن استخدام Browser-side persistence مثل Local Storage أو أي آلية مناسبة، مع Sync آمن مع السيرفر عند الحاجة.
3. تحسين واجهة الـQuiz
أريد تثبيت Layout الخاص بالسؤال والاختيارات بحيث:
* لا تتحرك أماكن الاختيارات بشكل مزعج عند اختلاف طول السؤال.
* لا يحدث Page Jump عند ظهور سؤال طويل أو إجابة طويلة.
* تكون منطقة السؤال والاختيارات منظمة وثابتة قدر الإمكان.
* التصميم يكون Responsive للموبايل والكمبيوتر.
4. Highlight للنص
إضافة إمكانية للطالب لتحديد جزء من نص السؤال وعمل Highlight له.
مثال:
الطالب يحدد جملة مهمة → يضغط Highlight → تظهر الجملة بشكل واضح.
ويفضل أن يظل الـHighlight موجودًا أثناء الـAttempt وحتى بعد Refresh إذا كان ذلك ممكنًا بدون التأثير على الأداء.
5. نظام حفظ الأسئلة داخل Folders
إضافة إمكانية للطالب لإنشاء مجلدات خاصة به، مثل:
* مراجعة
* أسئلة مهمة
* قبل الامتحان
ويستطيع:
* إنشاء أكثر من Folder.
* حفظ أي سؤال داخل Folder.
* إزالة السؤال من Folder.
* مشاهدة الأسئلة المحفوظة داخل كل Folder.
* بدء Quiz من أسئلة Folder معين.
6. My Mistakes
إنشاء مجلد تلقائي باسم **My Mistakes**.
عندما يجيب الطالب عن سؤال بشكل خاطئ:
* يتم إضافة السؤال تلقائيًا إلى My Mistakes.
* إذا أخطأ في نفس السؤال مرة أخرى، لا تتم إضافة نسخة مكررة.
* يكون لكل سؤال وجود واحد فقط داخل المجلد.
* يمكن للطالب بدء Quiz من أسئلة My Mistakes.
ويفضل إمكانية تحديد سلوك السؤال بعد الإجابة الصحيحة عليه، مثل إبقائه في المجلد أو إزالته تلقائيًا.
7. Flag Question
إضافة زر **Flag** داخل الـQuiz.
يستخدمه الطالب عندما يكون غير متأكد من السؤال ويريد مراجعته لاحقًا.
ويجب أن يستطيع الطالب معرفة الأسئلة التي قام بعمل Flag لها أثناء الـAttempt، وإلغاء الـFlag عند الحاجة.
متطلبات مهمة للأداء
المنصة موجهة لعدد كبير من الطلاب، لذلك أحتاج إلى تنفيذ لا يسبب ضغطًا غير ضروري على السيرفر.
خصوصًا:
* عدم إرسال AJAX Request مع كل تغيير بسيط إذا كان يمكن تجنب ذلك.
* استخدام Browser-side storage عندما يكون مناسبًا.
* تقليل Database queries قدر الإمكان.
* عدم التأثير بشكل ملحوظ على سرعة الـQuiz.
* مراعاة إمكانية وجود عدد كبير من الطلاب في نفس الوقت.
طريقة التنفيذ
أفضل أن يتم تنفيذ الخصائص في **Custom Plugin / Extension** منفصل قدر الإمكان، باستخدام Hooks وAPIs الخاصة بـTutor LMS وWordPress، بدل تعديل ملفات Tutor LMS الأساسية مباشرة.
Tutor LMS يوفر بالفعل Action Hooks خاصة بالـQuiz والـAttempts، لذلك أريد الاستفادة من النظام الحالي بدل إعادة بناء Quiz Engine بالكامل.
المطلوب من المتقدم
يرجى توضيح:
1. خبرتك السابقة مع Tutor LMS.
2. أمثلة لمشاريع WordPress/Quiz/LMS قمت بتنفيذها.
3. الطريقة التي تقترح بها تنفيذ هذه الخصائص.
4. السعر الإجمالي.
5. المدة المتوقعة.
6. هل سيتم تنفيذ العمل داخل Custom Plugin أم تعديل Core Tutor LMS؟
7. هل يوجد دعم/إصلاح Bugs بعد التسليم؟
*
مهم:** أبحث عن مطور يفهم PHP + WordPress + JavaScript/AJAX + Database، وليس مجرد مطور WordPress يقوم بتعديلات CSS.
| تاريخ التسجيل | |
| معدل التوظيف | |
| المشاريع المفتوحة | 1 |
| مشاريع قيد التنفيذ | 0 |
| التواصلات الجارية | 0 |
السلام عليكم، اطلعت على تفاصيل المشروع بالكامل بعناية، وأرى أن المطلوب يتجاوز مجرد إجراء تعديلات برمجية سطحية على واجهات الاختبارات، بل هو هندسة لتجربة مستخدم ت...
السلام عليكم استاذي عمار قرأت طلبك بتمعن وأعرف Tutor LMS من الداخل جيدا، وأول ما لفت نظري أن مشكلة الأسئلة العشوائية عندك سببها أن Tutor يعيد القرعة مع كل تحميل...
السلام عليكم، قرأت البنود السبعة كلها، وأبدأ بأصدق ما يمكن أن أقوله لك: هذه ليست ميزة واحدة تضاف إلى Tutor LMS، بل سبع ميزات لكل واحدة منها تخزين وواجهة وحالات ...
السلام عليكم ورحمة الله وبركاته، اطلعت على تفاصيل المشروع بعناية، ومهتمة بتنفيذه. لدي خبرة في تطوير وتخصيص مواقع WordPress باستخدام PHP وJavaScript وAJAX وقواعد...
اهلا وسهلا بحضرتك المتطلبات اللي كاتبها بتبين ان حضرتك فاهم كويس جدا هيكلة ووردبريس وبيئةTutor LMS وقرارك ان الشغل يكون في بلاجن منفصل هو الصح عشان السيستم مايض...
السلام عليكم ورحمة الله وبركاته، اطلعت على تفاصيل المشروع والمتطلبات، ولدي خبرة مناسبة جدا لتنفيذ هذا العمل. سبق لي تنفيذ Custom Plugin خاصة بعمل وإدارة امتحانا...
مرحبا، اطلعت على تفاصيل المشروع، وفهمت أن المطلوب ليس مجرد تعديل واجهة Quiz، وإنما تطوير خصائص مرتبطة بمنطق الـAttempts والأسئلة والإجابات مع الحفاظ على Tutor L...
هناك تفصيلة مهمة هنا: Random Questions لا ينبغي أن تعني Random Questions عند كل تحميل للصفحة. العشوائية يجب أن تكون جزءا من إنشاء الـAttempt نفسه. سأتعامل مع ال...