Personal MVI Clean Architecture

موسوعة النباتات

دليل رقمي شامل لجميع شخصيات 'Plants vs. Zombies 2'.

نظرة عامة

دليل شامل لجميع النباتات والزومبي في لعبة "Plants vs. Zombies 2"، مدعوم بواجهة برمجة التطبيقات (PVZ 2 API). تم بناء التطبيق أساساً باستخدام المعمارية النظيفة (Clean Architecture) في تطوير أندرويد، باتباع نمط (MVI - Model-View-Intent).

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

يتبع تطبيق PlantPedia Z معمارية متعددة الوحدات (Modular Architecture) لتحسين أوقات البناء، والحفاظ على فصل الاهتمامات (Separation of Concerns)، وجعل الكود البرمجي أكثر قابلية للتوسع والصيانة. يعتمد التطبيق على نمط MVI (Model-View-Intent) جنباً إلى جنب مع مبادئ المعمارية النظيفة (Clean Architecture).

التصميم الهيكلي للوحدات

  • التطبيق والنواة (App & Core): التنظيم المركزي للوظائف والأدوات المشتركة.
  • البيانات وقواعد البيانات (Data & Database): مصادر البيانات، التخزين المؤقت المحلي باستخدام Room، والتكامل المباشر مع واجهات برمجة التطبيقات (API).
  • النطاق (Domain): منطق الأعمال النقي (Business Logic) وحالات الاستخدام (Use Cases) بلغة Kotlin.
  • العرض وواجهة المستخدم (Presentation & UI): مكونات Jetpack Compose المشتركة وأنظمة التصميم.
  • وحدات الميزات (Feature Modules): ميزات معزولة بشكل أفقي مثل encyclopedia الأساسية.

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

Language Kotlin
UI Framework Jetpack Compose
Architecture MVI / Repository
Networking Retrofit & OkHttp3
Persistence Room DB
DI Framework Hilt
Cloud Services Firebase