Merge remote-tracking branch 'origin/main'

This commit is contained in:
oqba26 committed 2025-11-17 18:49:57 +03:30
commit de3c099adc
1 file changed
+50
+50
View File
@@ -0,0 +1,50 @@
# مدیریت حقوق ماهانه (Monthly Payment App)این پروژه یک اپلیکیشن اندرویدی مدرن برای مدیریت حقوق ماهانه است. برنامه به صورت **کلاینت-سرور** طراحی شده و به چندین کاربر اجازه می‌دهد تا با یک حساب مشترک، اطلاعات را به صورت متمرکز مدیریت کنند.
## 🚀 قابلیت‌های کلیدی
این اپلیکیشن با تمرکز بر سادگی و کارایی، امکانات زیر را ارائه می‌دهد:
### ۱. **سیستم چند کاربره و آنلاین**
- **یک حساب، چند کاربر:** چندین کاربر می‌توانند با یک نام کاربری و رمز عبور مشترک وارد برنامه شوند.
- **همگام‌سازی متمرکز:** تمام اطلاعات (افراد و پرداخت‌ها) روی یک سرور مرکزی (VPS) ذخیره می‌شود.
- **دسترسی از هر کجا:** کاربران از دستگاه‌های مختلف به داده‌های یکسان دسترسی دارند.
### ۲. **مدیریت کامل افراد**
- **افزودن و حذف:** امکان افزودن افراد جدید و حذف آن‌ها از لیست.
- **مرتب‌سازی خودکار:** لیست افراد به صورت خودکار بر اساس **تاریخ ایجاد** (از قدیمی‌ترین به جدیدترین) مرتب می‌شود.
- **شماره‌گذاری خوانا:** هر شخص در لیست یک شماره ردیف فارسی برای دسترسی سریع‌تر دارد.
### ۳. **مدیریت پیشرفته پرداخت‌ها**
- **پرداخت سریع:** امکان ثبت پرداخت برای **ماه جاری** با یک کلیک از صفحه اصلی.
- **تاریخچه کامل پرداخت:** با کلیک روی هر شخص، یک **صفحه کشویی (Bottom Sheet)** باز می‌شود که تاریخچه کامل پرداخت‌های او را به تفکیک سال و ماه نمایش می‌دهد.
- **نمایش وضعیت ماه‌ها:** ماه‌ها با وضعیت‌های مختلف (پرداخت شده، در دسترس، مربوط به آینده/گذشته) و با رنگ‌ها و آیکون‌های متفاوت نمایش داده می‌شوند.
- **جزئیات دقیق پرداخت:** با کلیک روی یک پرداخت ثبت‌شده، تاریخ و زمان دقیق آن در یک دیالوگ نمایش داده می‌شود.
- **ویرایش و حذف پرداخت:** امکان ویرایش مبلغ یا حذف کامل یک پرداخت از تاریخچه وجود دارد.
### ۴. **تجربه کاربری (UX) و طراحی (UI)**
- **طراحی مدرن:** استفاده از کامپوننت‌های Material 3 و طراحی تمیز و چشم‌نواز.
- **پشتیبانی کامل از زبان فارسی:**
- **رابط کاربری راست‌به‌چپ (RTL).**
- **اعداد فارسی:** تمام اعداد در برنامه (مبالغ، تاریخ، تعداد) به صورت فارسی نمایش داده می‌شوند.
- **قالب‌بندی خودکار مبالغ:** اعداد مربوط به مبلغ در حین تایپ به صورت خودکار با **جداکننده هزارگان** (مانند `۲۰۰٬۰۰۰`) قالب‌بندی می‌شوند.
- **کشیدن برای به‌روزرسانی (Pull to Refresh):** کاربران می‌توانند با کشیدن صفحه به پایین، به راحتی آخرین اطلاعات را از سرور دریافت کنند.
- **دیالوگ‌های هوشمند:**
- **تأیید خروج:** برای جلوگیری از خروج تصادفی، برنامه هنگام زدن دکمه بازگشت در صفحه اصلی، یک دیالوگ تأیید نمایش می‌دهد.
- **چیدمان یکپارچه:** دکمه‌های تمام دیالوگ‌ها از یک الگوی طراحی واحد و قابل پیش‌بینی پیروی می‌کنند.
### ۵. **تنظیمات و شخصی‌سازی**
- **مبلغ پیش‌فرض:** امکان تعیین یک مبلغ پیش‌فرض برای پرداخت‌ها جهت تسریع فرآیند ثبت.
- **رابط ویرایش زیبا:** بخش تنظیم مبلغ پیش‌فرض دارای حالت‌های نمایش و ویرایش برای جلوگیری از تغییرات تصادفی است.
- **پشتیبان‌گیری و بازیابی:** قابلیت ایجاد فایل پشتیبان (Backup) از تمام داده‌ها و بازیابی آن در زمان دلخواه.
## 🛠️ تکنولوژی‌های استفاده شده
- **زبان برنامه‌نویسی:** [Kotlin](https://kotlinlang.org/)
- **رابط کاربری:** [Jetpack Compose](https://developer.android.com/jetpack/compose) (کتابخانه مدرن UI اندروید)
- **معماری:** MVVM (Model-View-ViewModel)
- **مدیریت State:** Kotlin Flows و StateFlow
- **شبکه:** [Retrofit](https://square.github.io/retrofit/) و [OkHttp](https://square.github.io/okhttp/)
- **پردازش JSON:** [Kotlinx Serialization](https://github.com/Kotlin/kotlinx.serialization)
- **ناوبری:** [Jetpack Navigation for Compose](https://developer.android.com/jetpack/compose/navigation)
- **سمت سرور (Backend):** Node.js با فریم‌ورک Express
- **پایگاه داده:** MongoDB