Add project overview and key features to README

Added detailed project description and key features for the Monthly Payment App, including technology stack and user experience highlights.
This commit is contained in:
oqba26 authored and GitHub committed 2025-10-19 10:29:45 +03:30
1 parent 30ef5d636d
commit 5285ec3326
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