توثيق النظام
رجوع للوحة الإدارةصلاحيات غير كافية.
الهوية والدخول
من يدخل، وكيف يبقى مسجَّلاً بأمان.
- تسجيل بالبريد الإلكتروني وكلمة مرور
- "تذكرني" — الجلسة تبقى بعد إغلاق المتصفح بدل انتهائها فوراً
- حدّ أقصى لعدد الأجهزة المسموح بها لكل مستخدم فى وقت واحد
- تحديث تلقائي لجلسة الدخول فى الخلفية دون مقاطعة الطالب
- تخزين حالة الجلسات فى Redis عند توفّره، مع رجوع تلقائي وآمن للذاكرة المحلية عند غيابه
الكتالوج
اكتشاف الكورس المناسب فى ثوانٍ معدودة.
- بحث نصّي فورى بعنوان الكورس أو اسم المحاضر
- فلاتر: القسم، المحاضر، توفّر بث مباشر، عدد الدروس
- ترتيب النتائج بعدّة خيارات (الأحدث، الأكثر مشاهدة...)
- مفضلة شخصية يحفظها كل مستخدم لكورساته المهتمّ بها
- تصميم متجاوب بالكامل: قائمة الفلاتر تتحوّل لنافذة منزلقة على الموبايل
مشغّل الدرس
مشاهدة بلا احتكاك، من حيث توقّف الطالب تماماً.
- استئناف تلقائي من آخر نقطة توقّف محفوظة لكل درس
- التحكّم بسرعة التشغيل من 0.75x حتى 2x
- شريط تحكّم كامل مبني خصيصاً للمنصة (تشغيل، تقدّم، صوت، سرعة)
- مؤشّر جودة الاتصال وشاشة تحميل مخصّصة أثناء التخزين المؤقت
البث المباشر
قاعة افتراضية حيّة تجمع المحاضر بالطلاب لحظياً.
- نشر كاميرا وميكروفون المحاضر، مع خيار مشاركة الشاشة
- عند مشاركة الشاشة: تظهر كاميرا المحاضر فى نافذة صغيرة إضافية أعلى الشاشة المشتركة، يمكن للمحاضر تبديلها لتصبح هى العرض الرئيسي بنقرة واحدة
- دردشة نصّية حيّة بين الحضور، وزر لرفع اليد لطلب الكلام
- تسجيل تلقائي للبث الكامل، يُنشر تلقائياً كفيديو "عند الطلب" فور انتهاء الجلسة
مسار البث من المحاضر إلى المشاهد
الاشتراكات
حرية اختيار الطالب لما يدفعه فعلياً، لا اشتراكاً واحداً مفروضاً.
- اشتراك بكورس واحد، أو عدّة كورسات مختارة، أو بكل الكورسات
- تسعير مستقل لكل كورس يحدّده فريق الإدارة
- مسار دفع إلكتروني فوري: تفعيل تلقائي فور نجاح الدفع
- مسار دفع يدوي: الطالب يرفق رقم/إثبات الدفع، ويبقى الطلب معلَّقاً حتى تراجعه الإدارة
دورة حياة طلب الدفع اليدوي
التقدّم والشهادات
أثر تعليمي قابل للقياس والتوثيق.
- تتبّع نسبة المشاهدة لكل درس على حدة، وليس للكورس ككل فقط
- اختبارات فورية بعد الدروس لقياس الفهم
- شهادة إتمام تُصدَر تلقائياً عند استيفاء شروط الكورس
الإشعارات
لا يفوّت الطالب حدثاً مهماً بخصوص دراسته.
- تذكير قبل بدء البث المباشر بوقت كافٍ
- نتيجة الاختبار فور صدورها
- إشعار عند إصدار شهادة إتمام جديدة
- تنبيه عند اقتراب انتهاء الاشتراك
الحماية التقنية
المحتوى محمي بجدّية على مستوى الخوارزمية، لا بالشكل فقط.
طبقات الحماية من الخارج إلى المحتوى
- كلمات المرور: PBKDF2 بخوارزمية HMAC-SHA256 وملح عشوائي مستقل لكل مستخدم (تنسيق ASP.NET Core Identity القياسي، 10,000 تكرار)
- رمز الدخول (Access Token): JWT موقّع بخوارزمية HMAC-SHA256 (HS256)
- رمز التحديث (Refresh Token): قيمة عشوائية معتمة بطول 512 بت، لا يُخزَّن الرمز الخام أبداً — فقط بصمته SHA-256
- تقسيم الفيديو (Segmentation): كل درس يُقسَّم بواسطة FFmpeg إلى مقاطع HLS مدة كل منها 6 ثوانٍ (بروتوكول m3u8 القياسي)
- تشفير الفيديو: كل مقطع (Segment) على حدة مشفَّر AES-128 — لا يوجد ملف فيديو واحد كامل غير مشفَّر على الخادم أصلاً
- مفتاح تشفير كل درس: مُغلَّف (Envelope Encryption) عبر Data Protection API — تشفير AES-256-CBC مع مصادقة HMAC (Authenticated Encryption)، ولا يُسلَّم المفتاح الخام إلا ضمن رابط موقَّع منتهي الصلاحية
- صلاحية روابط التشغيل: رابط الـ manifest وكل مقطع فيديو ومفتاح فك التشفير مُوقَّعة HMAC-SHA256 (بمفتاح توقيع مستقل عن مفتاح JWT)، صالحة 120 ثانية فقط من لحظة إصدار منح المشاهدة، ومربوطة برقم جلسة تشغيل محدَّد — كل مقطع يُعاد التحقّق من توقيعه وصلاحيته بشكل مستقل عند كل طلب
- العلامة المائية: تُطبَّق بنفس الآلية على فيديوهات الدروس المسجَّلة وعلى شاشة البث المباشر معاً — اسم المنصة + هوية المشاهد + التاريخ، متحرّكة الموضع على الشاشة طوال وقت المشاهدة لمنع اقتصاصها بالتصوير
- الملفات المرفوعة (إثبات دفع/مرفقات): تحقّق فعلي من توقيع الملف الحقيقي (Magic Bytes) بصرف النظر عمّا يدّعيه الامتداد
- الحماية من التنزيل: تعطيل التنزيل وتسجيل الشاشة على مستوى المشغّل نفسه
- الحدّ من إساءة الاستخدام: تحديد معدّل الطلبات (نافذة ثابتة/منزلقة حسب نوع العملية) لمنع محاولات الاختراق الآلية
إدارة الكورسات
- إنشاء وتعديل العنوان والوصف وصورة الغلاف
- نشر الكورس أو إخفاؤه عن الكتالوج
- تحديد السعر والعملة الخاصّين بكل كورس
- مدة إتاحة زمنية اختيارية (يمنع الوصول تلقائياً بعد تاريخ محدَّد)
إدارة الأقسام
- إضافة وتعديل أقسام تصنيف الكورسات
- التحكّم بترتيب ظهورها فى صفحة الكتالوج
الدروس والفيديو
- رفع فيديو الدرس ومتابعة حالة معالجته لحظياً
- إعادة ترتيب الدروس داخل الكورس بالسحب
- إرفاق ملفات لكل درس (PDF، عروض تقديمية، ملفات صوتية)
إدارة المحاضرين
- إضافة محاضر جديد وربطه بدروس محدَّدة
- تفعيل أو تعطيل ظهور المحاضر فى الكتالوج
إدارة البث المباشر
- جدولة جلسة بث، وبدؤها أو إنهاؤها يدوياً
- كتم صوت مشارك أو طرده أثناء البث
- متابعة حالة التسجيل التلقائي حتى نشره كفيديو
إدارة المستخدمين
- عرض تفاصيل أي مستخدم، بما فى ذلك اشتراكه الحالي
- منح اشتراك يدوي مباشر (بكورسات محدَّدة أو بالكل)
- إدارة الأجهزة المسجَّلة على حساب المستخدم
طلبات الاشتراك
- مراجعة طلبات الدفع اليدوي المعلَّقة
- عرض إثبات الدفع داخل الصفحة مباشرة (صورة أو PDF)
- الموافقة مع تحديد مدة الاشتراك، أو الرفض مع ذكر السبب
تتبّع العلامة المائية
- البحث عن هوية المستخدم من نص العلامة الظاهرة فى أي تسجيل مشبوه
سجل الأحداث
- سجل زمني كامل لكل إجراء إداري وأمني حسّاس على المنصة