تطبيق Asteroid Radar هو مشروع يقوم بجلب قائمة بالكويكبات القريبة من الأرض من خلال واجهة برمجة التطبيقات NASA NeoWs API، ثم يعرضها في قائمة تفاعلية داخل التطبيق. يمكن للمستخدم اختيار أي كويكب من القائمة للاطلاع على معلومات تفصيلية عنه. كما يتيح التطبيق حفظ الكويكبات في قاعدة بيانات محلية لعرضها لاحقًا حتى في حالة عدم توفر اتصال بالإنترنت.
الميزات:
- جلب بيانات الكويكبات من NASA NeoWs API باستخدام مكتبة Retrofit.
- عرض قائمة بالكويكبات داخل RecyclerView مع معلومات مثل الاسم، المسافة، وتاريخ أقرب اقتراب من الأرض.
- عرض صور فلكية يتم جلبها من خوادم NASA.
- إمكانية تصفية قائمة الكويكبات حسب التاريخ.
- إمكانية اختيار أي كويكب لعرض تفاصيل إضافية مثل الاسم، المسافة، السرعة، وما إذا كان يشكل خطرًا محتملًا على الأرض.
- تخزين جميع البيانات محليًا باستخدام Room Database لتمكين الوصول إليها بدون إنترنت.
- عرض مؤشرات التحميل ورسائل الخطأ في حالة عدم توفر بيانات محفوظة.
- تحديث البيانات المخزنة تلقائيًا في الخلفية حتى في حالة عدم تشغيل التطبيق.
- عرض رسالة خطأ في حالة عدم توفر بيانات محفوظة أو عدم وجود اتصال بالإنترنت.
التقنيات المستخدمة:
Kotlin
معمارية MVVM
LiveData
Room Database
Retrofit
Picasso
RecyclerView
Data Binding
Repository Pattern
WorkManager