تفاصيل العمل

التطبيق هو عميل سطح مكتب (Desktop Client) متكامل تم تطويره باستخدام WPF بنمط MVVM، يتيح للمستخدمين إدارة إعداداتهم الخاصة بالتطبيق وتخصيصها. التطبيق يتكامل بشكل مباشر مع الـ API الخلفي ويوفر واجهة مستخدم سلسة مع مميزات متعددة مثل:

تسجيل الدخول، إنشاء حساب جديد، واستعادة كلمات المرور.

لوحة تحكم (Dashboard) لاختيار الألعاب المدعومة وإدارتها.

شاشة رئيسية (Home) لتفعيل/إيقاف النظام وضبط الأسلحة.

إعدادات متقدمة لتعديل الحساسية وخصائص الأسلحة لكل لعبة.

المهارات والتقنيات المستخدمة:

WPF (Windows Presentation Foundation):

استخدام نمط MVVM للفصل بين واجهة المستخدم والمنطق البرمجي.

تصميم واجهة رسومية احترافية باستخدام XAML مع دعم الثيمات الداكنة.

تطبيق Data Binding بين النماذج وواجهة المستخدم.

Commands & RelayCommands لإدارة التفاعلات.

التكامل مع API (ASP.NET Core Web API):

تم بناء التطبيق ليعمل بشكل متكامل مع الـ Recoil Magnet API عبر استهلاك الـ Endpoints باستخدام HttpClient بشكل غير متزامن (Async/Await) لضمان سرعة الاستجابة وتجربة مستخدم سلسة.

الوظائف المدعومة:

إدارة الحساب:

إنشاء حساب جديد (Register) مع التحقق من البيانات وإرسال التفعيل.

تسجيل الدخول الآمن وإدارة الجلسة عبر JWT Tokens.

تغيير كلمة المرور واستعادة الحساب عبر البريد الإلكتروني.

تحديث بيانات الحساب (الاسم، البريد الإلكتروني، الدولة، إلخ).

إدارة الأسلحة والألعاب:

استدعاء قائمة الأسلحة لكل لعبة وربطها بواجهة المستخدم ديناميكياً.

تحميل اسلحة الألعاب المدعومة من الـ API مع صلاحيات كل مستخدم.

تحديث الإعدادات الخاصة بالحساسية لكل سلاح بشكل مباشر عبر API.

التراخيص والفترة التجريبية:

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

إشعار المستخدم بقرب انتهاء الفترة التجريبية أو انتهاء الترخيص.

التكامل مع المدفوعات:

إرسال طلبات شراء التراخيص (License Purchase) لكل لعبة وربطها بنظام الدفع.

التعامل مع الردود الآمنة من الـ API لتأكيد تفعيل الترخيص.

الجانب التقني:

تم الاعتماد على Dependency Injection لحقن الخدمات المسؤولة عن استهلاك الـ API.

تم إنشاء Service Layer خاصة للتعامل مع جميع Endpoints (UserService، GameService، WeaponService، PaymentService).

إدارة الجلسة عبر تخزين Access Tokens وRefresh Tokens بشكل آمن محلياً.

التعامل مع أخطاء الـ API (Bad Request, Unauthorized, Forbidden) بطريقة منظمة وعرض رسائل واضحة للمستخدم.

الإعدادات والتخزين المحلي:

حفظ إعدادات المستخدم (Local Settings) لسهولة الوصول لاحقاً.

دعم تخصيص الأسلحة والحساسية بشكل ديناميكي.

التقنيات الإضافية:

التعامل مع إدخال الفأرة ولوحة المفاتيح عبر Windows Input API.

استخدام ObservableCollection و INotifyPropertyChanged لتحديث الواجهة بشكل حي.

دعم Async/Await لمعالجة الطلبات بشكل غير متزامن (عدم تجميد الواجهة).

الأمان:

حماية البيانات المخزنة محلياً باستخدام التشفير.

التحقق من حالة الترخيص قبل تفعيل أي إعدادات.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
9
تاريخ الإضافة
تاريخ الإنجاز
المهارات