58 lines
3.4 KiB
Markdown
58 lines
3.4 KiB
Markdown
# برنامه اجرایی: مدرنسازی و استانداردسازی پروژه (فاز ۱)
|
|
|
|
این برنامه روی دو محور اصلی تمرکز دارد: پیادهسازی **Hilt** برای مدیریت وابستگیها و **استانداردسازی متون** برنامه با استفاده از `strings.xml`.
|
|
|
|
## Proposed Changes
|
|
|
|
### ۱. زیرساخت و مدیریت وابستگیها (Hilt)
|
|
|
|
#### [MODIFY] [libs.versions.toml](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/gradle/libs.versions.toml)
|
|
- افزودن نسخهها و کتابخانههای مورد نیاز برای Hilt.
|
|
- افزودن پلاگین Hilt.
|
|
|
|
#### [MODIFY] [build.gradle.kts (Project)](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/build.gradle.kts)
|
|
- اعمال پلاگین Hilt.
|
|
|
|
#### [MODIFY] [build.gradle.kts (App)](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/build.gradle.kts)
|
|
- اعمال پلاگین `dagger.hilt.android.plugin`.
|
|
- افزودن وابستگیهای `hilt-android` و `hilt-navigation-compose`.
|
|
- تنظیم KSP برای کامپایلر Hilt.
|
|
|
|
#### [MODIFY] [PaymentApplication.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/core/PaymentApplication.kt)
|
|
- افزودن آنوتیشن `@HiltAndroidApp`.
|
|
- حذف مدیریت دستی Repositoryها و Factoryها.
|
|
|
|
#### [NEW] [DatabaseModule.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/core/di/DatabaseModule.kt)
|
|
- ایجاد ماژول Hilt برای ارائه (Provide) دیتابیس Room و DAOها.
|
|
|
|
#### [NEW] [RepositoryModule.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/core/di/RepositoryModule.kt)
|
|
- ایجاد ماژول Hilt برای ارائه Repositoryها.
|
|
|
|
#### [MODIFY] [ViewModels](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/viewmodel/)
|
|
- افزودن `@HiltViewModel` به `PersonViewModel` و `SettingsViewModel`.
|
|
- استفاده از `@Inject constructor` برای تزریق وابستگیها.
|
|
|
|
#### [MODIFY] [MainActivity.kt](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/MainActivity.kt)
|
|
- افزودن آنوتیشن `@AndroidEntryPoint`.
|
|
- استفاده از `hiltViewModel()` به جای دستی ساختن ViewModelها.
|
|
|
|
---
|
|
|
|
### ۲. استانداردسازی متون (String Resources)
|
|
|
|
#### [MODIFY] [strings.xml](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/res/values/strings.xml)
|
|
- استخراج و تعریف متون فارسی از UI به فایل XML.
|
|
|
|
#### [MODIFY] [Compose Screens](file:///E:/AndroidStudioProjects/MonthlyPaymentApp/app/src/main/java/com/oqba26/monthlypaymentapp/ui/screens/)
|
|
- جایگزینی متون هاردکد شده با `stringResource(R.string.id)`.
|
|
|
|
## Verification Plan
|
|
|
|
### Automated Tests
|
|
- اجرای `gradle build` برای اطمینان از صحت پیکربندی Hilt.
|
|
- بررسی عدم وجود خطای کامپایل در کدهای تولید شده توسط KSP.
|
|
|
|
### Manual Verification
|
|
- اجرای برنامه و اطمینان از لود شدن صحیح دادهها از دیتابیس و شبکه (تایید کارکرد صحیح DI).
|
|
- بررسی نمایش صحیح متون در صفحات مختلف.
|