تفاصيل العمل

تطبيق أندرويد متطور واحترافي لمتابعة حالة الطقس، تم تصميمه وبرمجته بالكامل لتقديم تجربة مستخدم فريدة بطابع "المحطة المباشرة" (Live Station) المستوحى من أجواء الخيال العلمي الكلاسيكية (Retro-futuristic). تم تطوير هذا المشروع خلال فترة دراستي في دبلومة معهد تكنولوجيا المعلومات (ITI)، وهو يعكس قدرة عالية على بناء تطبيقات معقدة، قابلة للتوسع، وتعمل بكفاءة عالية.

أهم الميزات والخصائص:

تحديثات الطقس المباشرة: عرض دقيق لدرجات الحرارة الحالية، الرطوبة، سرعة الرياح، الضغط الجوي، ونسبة الغيوم.

توقعات جوية تفصيلية: توفير توقعات دقيقة لكل ساعة خلال اليوم الحالي، بالإضافة إلى توقعات يومية تمتد لـ 5 أيام قادمة.

خرائط جوجل التفاعلية (Google Maps): محرك بحث ذكي للمدن مع ميزة الإكمال التلقائي، وإمكانية تحديد المواقع بدقة عبر إسقاط دبوس (Pin) على الخريطة التفاعلية.

قائمة المفضلة: نظام لحفظ عدة مدن ومواقع مفضلة لمتابعة حالتها الجوية بشكل سريع ولحظي.

نظام تنبيهات متقدم (Weather Alerts): إعداد منبهات وإشعارات مجدولة أو مستمرة للتحذير من حالات طقس معينة (مثل الأمطار، الثلوج، الرياح الشديدة، أو درجات الحرارة القاسية).

تخصيص كامل للمستخدم: التبديل السلس بين تحديد الموقع التلقائي (GPS) أو اليدوي، اختيار وحدات القياس المفضلة (سيلزيوس، فهرنهايت، كلفن)، مع دعم كامل واحترافي للغتين العربية والإنجليزية.

التقنيات والهيكلة البرمجية (Tech Stack & Architecture):

تم بناء التطبيق مع الالتزام التام بمعمارية MVVM (Model-View-ViewModel) لضمان كود نظيف (Clean Code) وسهل الصيانة والتطوير.

لغة البرمجة: Kotlin.

واجهة المستخدم (UI): بناء واجهات عصرية ومتجاوبة بالكامل باستخدام Jetpack Compose.

البرمجة غير المتزامنة وإدارة الحالة: Coroutines & StateFlow.

الشبكات (Networking): ربط التطبيق بواجهة برمجة التطبيقات (OpenWeatherMap API) باستخدام Retrofit & OkHttp.

قواعد البيانات المحلية: تخزين البيانات محلياً للعمل بدون إنترنت باستخدام Room Database.

المهام في الخلفية: استخدام WorkManager لإدارة التنبيهات الدقيقة والمستمرة في خلفية النظام.

حقن الاعتماديات (Dependency Injection): استخدام Koin لهيكلة مرنة واختبار برمجي أسهل.

الخرائط والمواقع: دمج Google Maps SDK & Location Services.

الرسوم المتحركة (Animations): إضافة مؤثرات بصرية جذابة باستخدام Lottie.

بطاقة العمل

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