Flutter: تم بناء الواجهة الأمامية (UI) للتطبيق باستخدام Flutter، وهو إطار عمل قوي من Google يتيح بناء تطبيقات أصلية (Native) لكل من نظامي التشغيل iOS و Android من قاعدة كود واحدة. هذا يضمن توفيرًا كبيرًا في الوقت والجهد، مع تقديم واجهة مستخدم جذابة وعصرية، كما يتضح من لقطات الشاشة المعروضة التي تظهر تصميمًا نظيفًا وسهل الاستخدام.
Dart: لغة البرمجة الأساسية المستخدمة في التطبيق هي Dart، وهي اللغة التي يعتمد عليها Flutter. توفر Dart بيئة تطوير فعالة وآمنة من حيث النوع (type-safe)، مما يساهم في كتابة كود نظيف وقابل للصيانة.
يعتمد التطبيق على نمط MVVM (Model-View-ViewModel)، وهو نمط تصميمي يضمن فصلًا واضحًا للمسؤوليات ويجعل التطبيق أكثر قابلية للتوسع والاختبار
التواصل مع الخادم (Networking):
يُستخدم Dio كعميل HTTP المفضل لجميع طلبات الشبكة في التطبيق. سيتم استخدام Dio ضمن طبقة البيانات (غالبًا ما تسمى "المستودعات" أو Repositories في سياق BLoC/MVVM) للقيام بالآتي:
جلب تفاصيل الدورات، الدروس، والواجبات من واجهة برمجة تطبيقات الواجهة الخلفية (Backend API).
التعامل مع مصادقة المستخدم وتفويضه.
استقبال وإرسال الرسائل.
جلب وتحديث معلومات ملف المستخدم الشخصي.
إجراء استعلامات البحث عن الدورات.
التعامل مع تسجيل الدورات ومعالجة الدفع (على الرغم من أن تفاعل بوابة الدفع قد يتم التعامل معه بواسطة مكتبة منفصلة، فإن Dio سيقوم بجلب تفاصيل الدفع الأولية أو تأكيد المعاملات).