تطبيق أندرويد يعرض منتجات عديدة من الأطعمة عن طريق كذلك تقسيمهم الى مجموعات
يتم أولا الإتصال بال server عن طريق ال Api Endpoint ثم عرض الوصفات
يتم عرض معلومات عن الوصفة اذا اراد المستخدم
يتم حفظ الوصفة في داتا بيز اذا احب المستخدم ذلك عند الضغط على زرار Favourite
تم بناء هذا التطبيق بإستخدام أحدث أدوات التكنووجيا في الأندرويد
وهذه التكنولوجيا المستخدمة
Minimum SDK level 21
Kotlin based, Coroutines + Flow for asynchronous.
Jetpack
Lifecycle: Observe Android lifecycles and handle UI states upon the lifecycle changes.
ViewModel: Manages UI-related data holder and lifecycle awareness. Allows data to survive configuration changes such as screen rotations.
StateFlow: For reactive style programming (from VM to UI).
DataBinding: Binds UI components in your layouts to data sources in your app using a declarative format rather than programmatically.
Room: Constructs Database by providing an abstraction layer over SQLite to allow fluent database access.
Hilt: for dependency injection.
Navigation - Used to navigate between fragments
Material-Components - Material design components like ripple animation, cardView.
Architecture
Clean Architecture (Data - Domain - UI)
MVVM Architecture (View - DataBinding - ViewModel - Model)
Repository Pattern
Retrofit2 & OkHttp3: Construct the REST APIs and paging network data.
Media3: New home for media libraries that enables Android apps to display rich audio and visual experiences.
Coil: An image loading library for Android backed by Kotlin Coroutines.
Junit5: Serves as a foundation for launching testing frameworks on the JVM.
Kotlin-DSL - Used to handle gradle dependencies and config versions
ksp: Kotlin Symbol Processing API.