تطبيق جوال ثنائي المنصات (Android و iOS) مبني باستخدام Flutter، يوفر للمستخدمين تحديثات فورية ويومية لأسعار صرف العملات العالمية وأسعار الذهب (أوقية، جرام، وعيارات مختلفة) مقابل عملة أساسية قابلة للتخصيص. يهدف التطبيق إلى تقديم بيانات مالية دقيقة وموثوقة عبر واجهة مستخدم بديهية وجذابة، مع تحقيق الدخل المستدام من خلال دمج إعلانات Google AdMob.
الميزات الرئيسية:
عرض شامل للأسعار: لوحة معلومات تعرض أسعار صرف العملات الرئيسية وأسعار الذهب (بما في ذلك عيارات 24K, 21K, 18K) في الوقت الفعلي.
تحديث البيانات التلقائي: جلب وتحديث الأسعار بشكل دوري ويومي في الخلفية لضمان دقة المعلومات باستمرار.
تخصيص العملة الأساسية: يتيح للمستخدمين اختيار عملتهم الأساسية المفضلة لعرض جميع الأسعار بالنسبة لها.
محول العملات: أداة تفاعلية لتحويل القيم بين العملة الأساسية وأي عملة أخرى مدعومة.
حاسبة الذهب: وظيفة مخصصة لحساب قيمة كمية معينة من الذهب بناءً على الوزن والعيار المحدد.
دعم الثيمات (الوضع الليلي/النهاري): واجهة مستخدم قابلة للتكيف مع تفضيلات المستخدم للوضع الفاتح أو الداكن.
حفظ الإعدادات: تخزين إعدادات المستخدم المفضلة (العملة الأساسية، وضع الثيم) محليًا باستخدام shared_preferences لضمان تجربة مستخدم سلسة ومستمرة.
تحقيق الدخل: دمج إعلانات Google AdMob (مثل إعلانات البانر والإعلانات البينية) بطريقة غير مزعجة لدعم استمرارية التطبيق.
شاشة بدء جذابة (Splash Screen): تجربة بصرية أولية محسنة عند إطلاق التطبيق.
التقنيات والأدوات المستخدمة:
إطار العمل (Framework): Flutter
لغة البرمجة: Dart
إدارة الحالة (State Management): setState (أساسي)، مع أفضل الممارسات لتحسين الأداء.
جلب البيانات (HTTP Requests): حزمة http.
واجهات برمجة التطبيقات (APIs):
ExchangeRate-API (v6) لأسعار العملات.
goldapi.io لأسعار الذهب (مع معالجة متقدمة لـ endpoints ورؤوس الطلبات).
التخزين المحلي: shared_preferences (لتخزين الإعدادات).
تحقيق الدخل: Google AdMob SDK.
التصميم (UI/UX): Material Design Guidelines، تصميم مخصص للبطاقات والأيقونات.
التحريك (Animations): AnimationController و RotationTransition (لزر التحديث).
النتائج والتحديات التي تم التغلب عليها:
تقديم بيانات مالية دقيقة وفي الوقت الفعلي من مصادر خارجية موثوقة.
ضمان تجربة مستخدم سلسة عبر تصميم واجهات بديهية وسريعة الاستجابة.
حل تحديات دمج APIs مختلفة، خاصة التعامل مع متطلبات الـ endpoint و authentication headers المتغيرة لـ APIs الذهب، وتصحيح الأخطاء باستخدام Debug Console بفعالية.
تحسين أداء جلب البيانات من خلال استخدام Future.wait لتشغيل الطلبات المتزامنة.
إدارة حالة التحميل والأخطاء لتقديم ملاحظات واضحة للمستخدمين.