Update Saqel Platform: 2026-09-08 17:30:46
This commit is contained in:
@@ -25,6 +25,11 @@
|
||||
- تشغيل الطالب يرفض الدرس الذي لا يملك فيديو حقيقياً؛ أزيل فيديو الاختبار العام.
|
||||
- تقديم الامتحان وتصحيحه ودفتر الأخطاء والتقارير الشهرية تتم من الخادم فقط.
|
||||
- المحادثة تستخدم `auth_identity_id` وتسمح فقط بعلاقة طالب/معلم لها تصريح دورة فعلي.
|
||||
- مبدأ تخزين المحتوى التعليمي المعتمد: قاعدة البيانات تحفظ الفهرس والبيانات الوصفية والحالة والصلاحيات فقط، ولا تحفظ نصوص الكتب أو ملفات HTML أو الفيديو داخلها.
|
||||
- ملفات الكتب بعد استخراجها ومراجعتها (Markdown)، وأوراق العمل، وملفات HTML للتجارب تُحفظ كـ versioned objects في تخزين الملفات الأصلي (R2 أو مساحة تخزين خاصة مكافئة)، وتُستدعى بروابط موقعة ومحددة الصلاحية.
|
||||
- الفيديوهات تُرفع إلى R2 وتُحوّل إلى HLS؛ قاعدة البيانات تحفظ `object_key` و`hls_url` وحالة المعالجة والنسخة فقط.
|
||||
- Redis ليس مخزناً دائماً للمحتوى: يستخدم للجلسات وOTP وrate limits، ولـ cache قصير العمر لشجرة المنهج أو Markdown المتكرر، مع TTL وإمكانية إعادة البناء من R2.
|
||||
- كل درس/وحدة/ورقة عمل/تجربة لها سجل إصدار ومصدر ومراجع وحالة (`draft`, `review`, `published`, `archived`) لمنع عرض ملف غير معتمد.
|
||||
- اختبارات Smoke للتطبيقات الأربعة ناجحة، وتحليل Flutter لا يحتوي أخطاء compile.
|
||||
- فحص syntax لجميع ملفات PHP ناجح و`git diff --check` نظيف.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user