MJMJ
تواصل معي
تواصل معي
تطبيق جوالمميز

QRate

تطبيق طلابي يوفر مواد دراسية وأسئلة وأجوبة للتحضير لجميع الاختبارات

عن المشروع

🎯 نظرة عامة على المشروع

يعالج المشروع مشكلة شائعة في المنصات الرقمية تتمثل في تشتت تجربة المستخدم بين مرحلة اكتشاف المحتوى، التصفح، الشراء، وإدارة الحساب. يجمع التطبيق هذه الرحلة في مسار واحد متسق وموحد؛ بدءاً من تسجيل الحساب وتأكيده، مروراً بالبحث الذكي وتصفح الأقسام، وصولاً إلى الشراء وإدارة المحتوى المكتشف بسهولة.

⚙️ التقنيات والميزات الأساسية

  • بنية تقنية صلبة وقابلة للصيانة: استخدام BLoC / Cubit لإدارة الحالة، GetIt + Injectable لحقن التبعيات (DI)، GoRouter لإدارة التنقل بطريقة منظمة، مع فصل الطبقات (Domain, Data, Presentation) اتباعاً لمنهجية Clean Architecture.
  • إدارة الحسابات والمصادقة المتكاملة: تسجيل دخول وإنشاء حسابات جديدة. تأكيد الحساب عبر رمز (OTP). استعادة وإعادة تعيين كلمة المرور. تعديل بيانات الملف الشخصي، تغيير كلمة المرور، وحذف الحساب بالكامل.
  • بحث ذكي وتصفح محتوى سريع: شاشة بحث مخصصة ومزوّدة بخاصية Debounce لتقليل الطلبات غير الضرورية على الخادم. عرض النتائج باستخدام الترقيم التدريجي (Pagination) لتحسين الأداء. سهولة الوصول إلى الفئات والأقسام والمواد المتعلقة بكل منها.
  • عمليات الشراء الدقيقة وإدارة الأرصدة: مسار كامل لشراء المحتوى المباشر من داخل التطبيق. فحص توفر الرصيد قبل إتمام العملية. عرض حالات النجاح والفشل مع توجيه المستخدم برسائل واضحة. شاشة خاصة لمتابعة المحتوى الذي تم شراؤه.
  • شحن الرصيد المباشر عبر قراءة البطاقات الذكية (QR): دمج عملية قراءة الكود الخاص بالبطاقة لزيادة الرصيد وتفعيل العملية مباشرة من التطبيق.
  • إدارة المفضلة وخيارات التعلّم المنظم: إضافة مقاطع المحتوى أو إزالتها من شاشة المفضلة. واجهة منظمة لعرض محتوى المادة وأسئلتها (Quizes). دعم إمكانية تصفير الإجابات أو التنقل بين صفحات المادة التعليمية.
  • حماية المحتوى والأمان العالي: تفعيل خاصية المنع من طبع الشاشات (Anti-Screenshot) أو تسريب المحتوى ضمن أجزاء التطبيق الحساسة باستخدام مكتبة screen_protector. تطبيق إرشادات الأمان المثلى في تخزين وإدارة معلومات الجلسة (Session).
  • دعم كامل لتعدد اللغات: يتبنى التطبيق كلاً من اللغتين العربية والإنجليزية بواسطة حزم easy_localization، مع بنية تراجم قابلة للتوسّع لأي أسواق جديدة مستقبلاً.
  • ربط شبكي (API Integration) عملي: دعم تخزين وإرسال البيانات بصورة آمنة باستخدام Dio. التخزين المحلي للبيانات عبر SharedPreferences و Hive. ربط منظّم للواجهات مع مسارات API متنوعة (الحسابات، البحث، المشتريات، الأرصدة، والمفضلة).

🧩 المكونات والشاشات الأساسية

  • الرئيسية (Home): تبرز أحدث المواد وإجمالي الرصيد ومعلومات سريعة حول الأماكن المعتمدة.
  • البحث (Search): سهولة البحث واكتشاف المحتوى ضمن نمط شبكي (Grid) يدعم التحميل التدريجي.
  • الأقسام (Departments): تصفح التصنيفات واكتشاف المجالات المتاحة.
  • المفضلة (Favorite): قائمة مخصصة للمواد التي تم تمييزها وحفظها من قبل المستخدم.
  • الملف الشخصي (Profile): إعدادات الحساب وسياسات الاستخدام والخيارات الأمنية.
QRate – screenshot 1
1 / 2