Wear OS Room Course Project

رونيق

متتبع جري متقدم يزامن البيانات لحظياً بين الهاتف والساعة الذكية.

نظرة عامة

يمثل Runique حلقة الوصل بين إدارة التطبيقات المرافقة والتكامل الأصيل للأنظمة الصحية للساعات الذكية. يتطلب تتبع مسارات الجري المباشرة تزامناً مستمراً للبيانات بين أجهزة Wear OS النشطة وهواتفها المضيفة. يبرز هذا المشروع قدرتي في معالجة البيانات الجغرافية المكانية بالوقت الفعلي، وعرض الخرائط، وإدارة واجهات Android Health Services المعقدة بشكل آمن.

التحدي

بناء تطبيقات اللياقة البدنية يتطلب دقة استثنائية. إذ أن تذبذب الشبكة، وأنظمة تحسين استهلاك البطارية (Doze Mode) التي تقتل عمليات الخلفية، والتدفق غير المتزامن للبيانات بين الهاتف والساعة، غالباً ما تتسبب في مشاكل مزامنة حادة.

كان الهدف الرئيسي هو الحفاظ على تمثيل مباشر ومستمر لبيانات الـ GPS على خرائط Google، بالتوازي مع التقاط المقاييس البيومترية الحساسة من الساعة الذكية، كل ذلك دون استنزاف البطارية أو توقف النظام في مناطق انعدام التغطية الخلوية.

القرارات المعمارية والتقنية

لضمان تدفق مثالي للبيانات، تم تنظيم مشروع Runique وفقاً لوحدات معزولة بالكامل (App, Auth, Run, Analytics, Wear) اعتماداً على نهج المعمارية النظيفة (Clean Architecture).

تحسين مسار المزامنة

  • وحدات ديناميكية للميزات (Dynamic Feature Modules): تم الاعتماد على مكونات Custom Gradle Convention الإضافية لتغليف الميزات، مما عزز من سرعة بناء المشروع وخيارات النشر (Runtime Delivery).
  • موثوقية العمل بلا إنترنت (Offline-First Resilience): تأسيس مصدر بيانات موثوق ومحلي عبر Room. تتدفق البيانات الحيوية من واجهة Wear OS Health Services إلى قاعدة البيانات المحلية قبل أن يرسلها Ktor كحزم مجمعة للخادم الخلفي بأمان.
  • دوال Turbine و Coroutines: نظراً للتردد العالي جداً لإحداثيات الـ GPS، تم الاعتماد بشدة على مشغلات Kotlin Flow. استخدمت مكتبة Turbine في وحدات الاختبار لضمان عدم تعطل التأكيدات غير المتزامنة لحالة الواجهة أثناء مسارات CI/CD المدمجة.

الكود المشترك مقابل نطاق المنصة

عوضاً عن تكرار الكود، تُدير الطبقات الأساسية (Core Domain & Data) كلاً من استهدافات الهاتف والساعة، في حين تحقن وحدات العرض المتخصصة أنظمة تصميم فريدة باستخدام Koin لتناسب هاتف (Material 3) وتطبيق Wear OS.

الأثر والنتائج

  • تحقيق تزامن سلس لحالة التطبيق بين الساعة الذكية والهاتف، مع الحفاظ على دقة أجزاء من الثانية لمقاييس Wear OS الصحية في الوقت الفعلي.
  • بناء معمارية صلبة ضمنت التسجيل المستمر لمسار خريطة الـ GPS، حتى في أعمق مناطق انقطاع الشبكة الخلوية أو خلال دورات السكون (Doze mode).
  • نشر وتحديث أسرع بفضل التقسيم الصارم للميزات عبر وحدات منفصلة (Dynamic Feature Modularization) وإضافات Gradle المخصصة.

التقنيات المستخدمة

Device Mobile / Wear OS
Persistence Room DB
Architecture Clean Architecture
Map Google Maps