مشروع SmartPlayer هو نظام تشغيل محتوى تعليمي متكامل مبني بتقنيات .NET (WinForms + WPF + DevExpress) ويستهدف تشغيل ومتابعة دروس وكورسات تعليمية مع دعم الوضعين: أونلاين وأوفلاين، مع حماية المحتوى وتنظيم تجربة المستخدم.
أهداف المشروع الأساسية
تشغيل الفيديوهات (محلية ومشفرة ويوتيوب).
تحميل المحتوى من Google Drive.
دعم مقالات، ملفات، كتب مجانية.
حماية المحتوى من التصوير والتسريب.
دعم تسجيل الدخول والتحديثات.
دعم العمل في وضع أوفلاين مع الكاش.
واجهة مستخدم احترافية مدمجة بـ WPF وDevExpress.
? مكونات المشروع باختصار
1. نظام الدخول (Login System)
باستخدام WPF داخل WinForms (WpfHostForm + LoginView).
دعم "تذكرني"، إظهار/إخفاء الباسورد، والتحقق من صحة الإيميل أو رقم الهاتف.
يدعم التحديث التلقائي إذا توفر إصدار جديد (SmartPlayerUpdater.exe).
2. نظام الكورسات (Courses & Lessons)
نموذج الدورة: CourseModel, LessonModel, LectureModel.
frmCoursesList: قائمة الكورسات.
frmCourseDetails: تفاصيل الدورة وتنقل بين التبويبات (فيديوهات، ملفات، مجموعات).
UC_Lecture: تشغيل الفيديوهات + تحميل من Google Drive.
UC_File: تحميل وفتح ملفات الكورس.
3. المحتوى المجاني (Free Content)
frmFreeBooks / frmFreeFiles / frmFreeVideos / frmFreeArticles
لكل نوع واجهة مخصصة وموديل خاص.
UC_FreeFileItem / UC_FreeVideo / US_Article: العرض والتحميل والمشاهدة.
4. نظام التشغيل وحماية المحتوى
LibVLCSharp لتشغيل الفيديوهات المشفرة (امتداد .smartv).
ScreenRecordingProtector لحماية من تسجيل الشاشة.
EncryptionHelper لتشفير الملفات.
VideoProgress / YoutubeVideoProgress لحفظ التقدم.
5. نظام التحميل المتقدم
DownloadManager / DownloadItem / DriveServiceHelper
دعم:
التنزيل في الخلفية.
الإلغاء والاستئناف.
تتبع التقدم.
Google Drive Direct API.
frmDownloadCenter + UC_DownloadTask: مركز تحميل منفصل مثل IDM.
6. واجهة المستخدم (UI/UX)
استخدام DevExpress وWPF.
واجهة تسجيل دخول احترافية بـ Cairo Font.
دعم الوضع الداكن.
استخدام شفافيات (TransparentPanel) وزوايا دائرية.
7. نظام الدعم والملاحظات
frmFeedback: إرسال الملاحظات واستلام الردود.
FeedbackResponse موديل البيانات المرتبطة بها.
8. إدارة التحديث
ApiClient.GetLatestVersionAsync() + تحقق تلقائي عند التشغيل.
عند توفر تحديث، يتم تشغيل SmartPlayerUpdater.exe وغلق التطبيق.
الأمان
تخزين مشفر للـ tokens (TokenManager).
التحقق من الجهاز (DeviceIdentifier) لمنع نقل الترخيص.
حماية عرض الفيديوهات.
حظر تصوير الشاشة.
دعم الأوفلاين
Cache داخلي للـ:
الدورات.
الفيديوهات.
المقالات.
الملفات المجانية.
تشغيل المحتوى حتى بدون اتصال.
التكامل مع Google Drive
تحميل الفيديوهات والملفات التعليمية.
التعامل مع الروابط المباشرة.
إدارة التوكن عبر TokenRefreshService.
مميزات إضافية
دعم التسجيل واسترجاع الباسورد.
نظام تراكمي لحفظ التقدم في الدروس والمقالات.
كود نظيف ومنظم بطبقة ApiClient موحدة.