Add auto-release and update system
This commit is contained in:
1 parent
502cdacb44
commit
0557679e9c
125 files changed
+6799
-1680
No files matched your search
@@ -0,0 +1,30 @@
|
||||
# گزارش نهایی: بازنگری معماری و بهبود زیرساخت (فاز ۲)
|
||||
|
||||
در این فاز، معماری پروژه از حالت یکپارچه و سنگین به حالتی ماژولار و تفکیکشده تغییر یافت. فایل `PersonViewModel` که حدود ۱۰۰۰ خط بود به چندین بخش تخصصی تقسیم شد.
|
||||
|
||||
## تغییرات کلیدی
|
||||
|
||||
### ۱. تفکیک وظایف (ViewModel Splitting)
|
||||
- **AuthViewModel:** مسئولیت کامل احراز هویت (Login/Register/Logout) را بر عهده گرفت.
|
||||
- **ContactViewModel:** مدیریت جستجوی مخاطبین گوشی، پیشنهادات شماره تماس و ارسال پیامک (SMS) به این کلاس منتقل شد.
|
||||
- **PersonViewModel:** اکنون فقط بر روی مدیریت دادههای افراد، پرداختها و داشبورد تمرکز دارد (حجم کد حدود ۵۰٪ کاهش یافت).
|
||||
|
||||
### ۲. جداسازی منطق از پلتفرم (Android Context Cleanup)
|
||||
- **SmsManager:** منطق ایجاد Intentهای پیامک و مدیریت صف ارسال گروهی (Bulk SMS) به این کلاس کمکی منتقل شد.
|
||||
- **ExportManager:** فرآیند تولید گزارش اکسل (CSV) و اشتراکگذاری رسیدها مستقل شد.
|
||||
- **نتیجه:** ViewModelها اکنون مستقل از `Context` اندروید هستند که تستنویسی آنها را بسیار آسان میکند.
|
||||
|
||||
### ۳. یکپارچهسازی و نظمدهی (Cleanup)
|
||||
- **ادغام پکیجها:** پکیجهای `util` و `utils` در یک پکیج واحد ادغام شدند.
|
||||
- **مدلهای متمرکز:** تمام `Events` و `UiStates` به فایل `UiModels.kt` منتقل شدند تا دسترسی به آنها یکپارچه شود.
|
||||
- **رفع خطاهای UI:** تمام صفحات برنامه (`AuthScreen`, `PersonScreen`, `PaidListScreen`, `PersonDetailScreen`) برای انطباق با ViewModelهای جدید بازنویسی شدند.
|
||||
|
||||
## وضعیت نهایی پروژه
|
||||
- **Build Status:** موفقیتآمیز (تایید شده با `assembleDebug`).
|
||||
- **Dependency Injection:** استفاده کامل از Hilt در تمام لایهها.
|
||||
- **Readability:** افزایش چشمگیر خوانایی کد و سهولت در عیبیابی.
|
||||
|
||||
---
|
||||
|
||||
> [!TIP]
|
||||
> با این ساختار جدید، افزودن ویژگیهای جدید (مثل ارسال یادآور از طریق پیامرسانهای دیگر یا افزودن فیلترهای جدید به لیست) بسیار سریعتر و با ریسک کمتر انجام خواهد شد.
|
||||
Reference in new issue
Block a user