Files
saqel/docs/IMPLEMENTATION_STATUS.md
T

5.8 KiB

حالة تنفيذ منصة صَقِل

آخر تحديث: 2026-09-03

هذه الوثيقة تفصل بين ما هو موجود في الكود وما هو جزء من الرؤية المستقبلية.

منفذ فعليًا

  • تطبيق Flutter موحد للطالب وولي الأمر.

  • تسجيل الدخول عبر OTP والرقم الوطني مع تخزين آمن للتوكن.

  • شجرة مناهج ديناميكية من الخادم ومحتوى فعلي للصف العاشر.

  • رفع الفيديو، تحويله إلى HLS عبر FFmpeg، ورفع حزمة HLS إلى Cloudflare R2.

  • رفع الفيديو من Curriculum Studio غير متزامن: الطلب يحفظ الملف ويرجع فورًا، ثم يعالج backend/scripts/video_upload_worker.php التحويل والرفع والربط بالدرس.

  • تشغيل الفيديو عبر HLS من R2 أو المسار المحلي عند عدم توفر R2.

  • فحوص سقراطية مرتبطة بالدرس من قاعدة البيانات مع الإرجاع التلقائي عند الخطأ.

  • شاشة الامتحانات التكيفية بالكامل في تطبيق فلاتر (AdaptiveExamScreen) مع التوقيت التنازلي والتشخيص الذكي لنسبة الاستيعاب ونقاط الضعف ومؤشر الجاهزية.

  • إشعارات الواتساب الفورية لولي الأمر عبر بوابة نبّه عند تعثر الطالب في أي فحص سقراطي أو امتحان تشخيصي.

  • عوارض تفاعلية لموارد أوراق العمل والكتب المدرسية المقررة في تطبيق فلاتر.

  • بوابات Web للطالب والمعلم وولي الأمر وإدارة المدارس واستوديو المناهج.

  • API للامتحانات والمحاولات والتحليلات والمحادثة وتقييم المعلم.

  • منظومة التدريب المهني والتقني (VTC): معمارية المناهج المبنية على الكفايات (CBT)، وشجرة القطاعات الـ 140، وتخصص تشخيص وصيانة المركبات الكهربائية والهجينة (6 وحدات وبطاقات عمل وفحوص سلامة).

  • المختبر الافتراضي التفاعلي لمقعد تشخيص أعطال مركبات الهايبرد وعزل الجهد العالي (ev_diagnostic_lab.html) بمحاكاة للملتيميتر، مفتاح الخدمة MSD، وقارئ الأعطال OBD-II.

  • بوابة العرض المؤسسي الموجهة لعطوفة مدير عام مؤسسة التدريب المهني وهيئة تنمية المهارات (/vtc و /vocational).

  • واجهات برمجية مخصصة للمسار المهني (/api/vocational/tree, /api/vocational/specialization, /api/vocational/simulation).

  • تطبيق المعلم Flutter (teacher_app): واجهة ألسنة متكاملة (استوديو رفع الدروس، محفظة عوائد وسحوبات كليك، رادار السمعة، وإدارة الواجبات والتساؤلات) مبني بنمط MVC النظيف مع Cubits.

  • تطبيق الإدارة والمدارس Flutter (admin_app): معمارية نظيفة مكتملة مع DirectorateCubit ومستودع بيانات وشاشات لمدير المدرسة وغرفة القيادة المركزية لمدارس الثقافة العسكرية.

  • بروتوكول فحص واعتماد منظومة الصف العاشر والباك إند (verify_grade10_ecosystem.php): 50 فحصاً مؤتمتاً ناجحاً بنسبة 100% يغطي المحرك بالكامل من المصادقة حتى الشفاء المعرفي ومنظومة VTC والدفع عبر كليك.

منفذ جزئيًا

  • حماية الفيديو: HLS/R2 متوفران مع العلامة المائية الجنائية المتحركة، أما DRM المتقدم للأجهزة فيحتاج تكامل ترخيص إنتاجي.

غير منفذ بعد

  • RAG دلالي مع Vector DB و Embeddings مخصصة.
  • خوارزمية تكيفية إنتاجية احتمالية متقدمة (Bayesian IRT).

المعمارية المعتمدة

  • Backend: Native PHP 8.3+، PDO، Router داخلي، PHP-FPM/Nginx.
  • Storage: Cloudflare R2 لحزمة HLS والملفات، مع تخزين محلي مؤقت أثناء التحويل.
  • Apps: student_app موحد للطالب وولي الأمر، teacher_app مستقل، وadmin_app مستقل.
  • لا يعتمد التشغيل على Laravel أو Docker.

خط سير الفيديو المعتمد

الربط المنطقي هو: curriculum_key للدرس ← lesson.video_uuid ← حزمة HLS في R2 على المسار hls/{course_id}/{video_uuid}/. مجلدات R2 القديمة مثل hls/0 وhls/1 وhls/4 ليست فهرس الدروس؛ المرجع المعتمد هو قاعدة البيانات وcurriculum_key، لذلك لا تُحذف قبل ترحيلها والتحقق من كل درس.

بعد نشر الكود يجب أن يكون عامل PHP قادرًا على الكتابة إلى backend/storage/curriculum/processing وbackend/storage/videos وbackend/storage/hls، وأن يكون FFmpeg مثبتًا على الخادم. وللفيديوهات الكبيرة يجب ضبط upload_max_filesize وpost_max_size في PHP وclient_max_body_size في Nginx بما يتجاوز حجم أكبر فيديو.

إذا ظهر HTTP 413 Request Entity Too Large فهذا يعني أن Nginx رفض الملف قبل وصوله إلى PHP. في CloudPanel ارفع client_max_body_size إلى 512M أو أكثر، وارفع upload_max_filesize وpost_max_size في إعدادات PHP-FPM، ثم أعد تشغيل/Reload خدمة Nginx وPHP-FPM. لا تعالج 413 من كود التطبيق لأنه يحدث قبل تشغيل الـ API.