نمای کلی پروژه
| عنوان | اطلاعات |
|---|---|
| تاریخ شروع پروژه | حدوداً ۲۵ مه ۲۰۲۶ (بر اساس نخستین تراکنشها و مهاجرتهای مخزن کد) |
| پایگاه داده | MySQL (پیکربندیشده از طریق XAMPP روی سیستم محلی) |
| بستر اجرا | وبسرور محلی (Localhost) یا شبکه محلی (LAN) از طریق XAMPP در ویندوز |
| وضعیت فعلی | نسخه اول (v1) بهطور کامل پیادهسازی و آزمایش شده؛ همه بخشهای اصلی بهجز ماژول صندوق خانوادگی (که حذف شد) فعالاند. |
تکنولوژیها و کتابخانههای کلیدی
- PHP 8.3+
- Laravel 13.8+
- Filament 4.11
- spatie/laravel-settings 3.8+
- morilog/jalali 3.5+
- phpoffice/phpspreadsheet 5.7
- barryvdh/laravel-dompdf 3.1+
- PHPUnit 12.5+
مقدمه کوتاه
نرمافزار TracknSave یک وباپلیکیشن ساده، مدرن و کارآمد برای مدیریت مالی شخصی و خانوادگی است که با تمرکز بر استفاده آسان برای افراد غیرحسابدار توسعه یافته است. این برنامه به کاربران اجازه میدهد تا بدون درگیر شدن با مفاهیم پیچیده حسابداری (مانند بدهکار/بستانکار، دفتر کل، ترازنامه و...) امور مالی روزمره خود را ثبت، پیگیری و تحلیل کنند.
هدف پروژه
TracknSave با این هدف ایجاد شد که به کاربران پاسخهای سریعی برای سوالات مالی روزمره بدهد:
- در حال حاضر چقدر پول در حسابهایم دارم؟
- پول من دقیقاً در چه بخشهایی خرج شده است؟
- چقدر درآمد در این ماه کسب کردهام؟
- به چه کسانی بدهکار هستم و چه کسانی به من بدهی دارند؟
- چه سررسیدهای پرداخت یا یادآوریهای مالی در پیش دارم؟
کاربران هدف
- افراد عادی: مدیریت دخل و خرج شخصی و انضباط مالی
- خانوادهها: کنترل مخارج مشترک و یادآورهای پرداخت قبوض/اقساط
- صاحبان کسبوکارهای کوچک و فریلنسرها: ثبت تراکنشهای کاری ساده بدون سیستمهای حسابداری سنگین
- کسانی که به امنیت دادهها اهمیت میدهند: دادههای مالی فقط بهصورت محلی باقی میماند
ویژگیهای اصلی
مدیریت فضاها و حسابهای مالی
- فضاهای مالی مجزا: تفکیک کامل محیطهای مالی (شخصی، کار، مسافرت...)؛ ۳ فضای پیشفرض سید میشود و قابل افزودن است
- ۶ نوع حساب: صندوق نقدی، حساب بانکی، کارت اعتباری، کیف پول دیجیتال، حساب پسانداز، حساب دلخواه
- مدیریت پیشرفته کارت اعتباری: سقف اعتبار، اعتبار مصرفشده، چرخه صورتحساب، سررسید، حداقل پرداختی
- پشتیبانی از بانکها: نام فارسی/انگلیسی، کد سوئیفت، پیوند به حسابهای بانکی
ثبت و مدیریت تراکنشها
- ثبت سریع تراکنش: فرم بهینه با ۶ فیلد کلیدی و بخش کشویی «جزئیات بیشتر»
- ۴ نوع تراکنش: درآمد، هزینه، انتقال وجه (با کارمزد اختیاری)، اصلاح/مغایرت موجودی
- قفل کردن نوع تراکنش: پس از ثبت، نوع تراکنش در ویرایش قفل میشود
- پیوست فایل: امکان ضمیمه کردن تصویر رسید یا فاکتور
مدیریت اشخاص، بدهیها و تعهدات
- دفترچه مخاطبان: نام، نقش یا نوع رابطه (دوست، همکار، مشتری، خانواده و...)
- پیگیری بدهیها و طلبها: مبالغ قرضی دادهشده یا گرفتهشده، همراه با سررسید
- تاریخچه پرداختهای جزئی: تسویههای مرحلهبهمرحله در جدول جداگانه
یادداشتها و یادآورها
- یادآورهای مالی: هشدار سررسید (یکباره یا دورهای) متصل به تراکنش، شخص، حساب یا بدهی
- یادداشتهای مالی سریع: قابلیت پین کردن و اتصال به اشخاص، تراکنشها یا حسابها
گزارشگیری و خروجیها
- گزارش ماهانه: خلاصه درآمد، هزینه، مانده خالص و جدول تفکیکی بر اساس دستهبندی
- گزارش تراکنشهای اشخاص: مبالغ دریافتی، پرداختی، انتقالی و مغایرتهای یک شخص
- خروجی اکسل و پیدیاف: استخراج اکسل با فیلتر بازه و نوع؛ صدور رسید PDF راستچین
نحوه عملکرد برنامه
- تنظیم اولیه: زبان، نوع تقویم، واحد پول، قالب نمایش ارقام، تم رنگی
- تعریف حسابها: ثبت حسابهای فعال با موجودی اولیه
- ثبت روزانه دخل و خرج: ثبت تراکنش از داشبورد یا ماژول تراکنشها؛ بهروزرسانی خودکار موجودی
- پیگیری امور تعهدی: ثبت رکورد در «بدهیها و طلبها» و درج پرداختهای جزئی
- پشتیبانگیری: دستی یا زمانبندی خودکار
منطق محاسباتی موجودی حسابها
موجودی هر حساب توسط سرویس AccountBalanceService بهصورت پویا محاسبه میشود، نه یک ستون استاتیک قابلویرایش:
این منطق محاسباتی از بروز هرگونه مغایرت محاسباتی در طول زمان پیشگیری میکند.
دادهها و اطلاعات مدیریتشده
- تنظیمات: ارز، نماد، شروع ماه مالی، تم، نمایش اعداد
- حسابها: نام، شماره کارت/حساب، سقف اعتبار، موجودی اولیه
- تراکنشها: مبلغ، دستهبندی، تاریخ، فایل ضمیمه، یادداشت
- مخاطبان: نام، تماس، ایمیل، نوع رابطه
- بدهیها و یادآورها/یادداشتها
- موجودی واقعی حسابها و اعتبار باقیمانده کارتها
- شناسههای UUID برای تمامی رکوردها
- فایلهای پشتیبان (ZIP/SQL)
- فایلهای گزارش (Excel/PDF)
حریم خصوصی و امنیت
- اجرای کاملاً آفلاین و محلی: هیچیک از اطلاعات مالی، مشخصات اشخاص یا فایلهای پیوست به سرورهای ابری منتقل نمیشوند.
- عدم ذخیرهسازی دادههای حساس: رمز دوم، تاریخ انقضا، CVV2 یا احراز هویت بانکی ذخیره نمیشود؛ شماره کارت بهصورت ماسکشده (•••• ••••) نمایش مییابد.
- حذف نرم (Soft Deletes): دادههای حذف شده موقت آرشیو میشوند و فیزیکی پاک نمیشوند تا گزارشهای گذشته آسیب نبینند.
- پشتیبان امن: امکان تهیه ZIP فشرده محلی از پایگاه داده و بارگذاری آسان در سیستمهای دیگر.
بومیسازی و پشتیبانی از زبانها
- زبان پیشفرض فارسی: تمام بخشها از جمله دکمهها، برچسبها و خطاها ترجمه شدهاند
- راستچین کامل (RTL): استایلهای Filament برای نمایش فیلدها، منوها و ستونها بهصورت راستچین بهینه شدهاند
- چندزبانگی واقعی: فایلهای fa.json و en.json؛ تغییر آنی زبان
- نمایش اعداد فارسی: یک MutationObserver، تمام اعداد لاتین را پس از بارگذاری به ارقام فارسی تبدیل میکند
- پشتیبانی از دو تقویم: سوئیچ آنی بین جلالی و میلادی بدون تداخل در دیتابیس
رابط کاربری و تجربه کاربری
طراحی بر اساس فلسفه «سادگی در استفاده و پویایی در ظاهر» شکل گرفته است:
- مودالها: فرمهای ایجاد در قالب مودالهای شیک و سریع باز میشوند؛ بدون بارگذاری صفحات جدید
- فرمهای بخشبندی شده: اطلاعات اساسی نمایان، جزئیات پیشرفته پیشفرض مخفی
داشبورد پیشرفته V2
کارتهای بانکی گرافیکی با نوار پیشرفت رنگی برای کارتهای پرمصرف.
دکمههای آیکوندار که مودال تراکنش را فوراً با دستهبندی انتخابشده باز میکنند.
۱۰ تراکنش آخر با رنگبندی پویا (سبز/قرمز/آبی/خاکستری).
ویژگیهای خروجی، پشتیبانگیری و گزارشگیری
- بکآپگیری دستی بهصورت ZIP از دیتابیس و فایلهای آپلودشده
- جدول تاریخچه بکآپها با حجم فایل، دانلود مستقیم یا حذف
- بازگردانی با یک کلیک از لیست یا آپلود فایل بکآپ خارجی، با نمایش پیشرفت
- ابزار زمانبندی خودکار (روزانه/هفتگی/ماهانه) با تعیین رویداد تحریککننده
- خروجی فایل .bat برای Windows Task Scheduler
- تولید فایل اکسل XLSX و صدور پیدیاف رسید تراکنش
خلاصه معماری فنی
این پروژه از معماری تمیز و ماژولار Laravel + Filament v4 بهره میبرد:
نگاشت جداول همراه با قوانین UUID و رفتارهای Soft Delete.
کامپوننتهای Livewire سریع و سبک برای صفحات و فرمها.
ایزولهسازی منطق تجاری در TransactionService و AccountBalanceService.
کلاسهای AppDate و AppSettings برای تبدیل تاریخ و فرمتهای ارزی.
محدودیتها و موارد حذف شده تعمدی
- بدون حسابداری دوطرفه: فاقد ترازنامه یا دفاتر روزنامه استاندارد حسابداری
- بدون همگامسازی ابری و چندکاربره: تککاربره؛ تنها از طریق LAN قابل دسترسی است
- بدون نرخ ارز خودکار: نرخ تبدیل باید دستی وارد شود
- حذف ماژول صندوق خانوادگی: به دلیل نیاز به بازنگری ساختاری حذف شده است
- بدون OCR یا اسکن هوشمند فاکتور
- بدون تراکنشهای تکراری خودکار: یادآورها فقط هشدار میدهند؛ ثبت همچنان دستی است
ویژگیهای تکمیلشده و موارد معوق
- تنظیمات عمومی؛ فضاهای مالی و حسابها (۶ نوع)
- بانکها؛ دستهبندیهای ۲ سطحی با آیکون
- مخاطبان و گزارش تراکنشهای هر شخص
- تراکنشها (۴ نوع)؛ یادآورها و یادداشتها
- داشبورد شیک V2؛ گزارش ماهانه و خروجی PDF/Excel
- پشتیبانگیری پیشرفته؛ صفحات راهنما و معرفی
- صندوق خانوادگی/دورهای — حذف شده از کدبیس
- سیستم قفل برنامه با پین (PIN Lock) — پیادهسازی نشده
- بودجهبندی و سقف مخارج دستهبندی — پیادهسازی نشده
- گزارشهای نموداری پیشرفته — فقط جدول و آمار عددی
توصیف بازاریابی عمومی
تِرک اند سیو (TracknSave)؛ دستیار هوشمند و ساده برای انضباط مالی شما
آیا از پیچیدگیهای نرمافزارهای حسابداری خسته شدهاید؟ TracknSave اینجاست تا شیوه مدیریت پول را در زندگی شما تغییر دهد. به صورت کاملاً فارسی، با پشتیبانی از تقویم شمسی و نمایش زیبای اعداد فارسی، در کمتر از چند ثانیه هزینهها و درآمدهایتان را ثبت کنید.
بزرگترین مزیت TracknSave، امنیت بینظیر آن به واسطه کارکرد کاملاً آفلاین و محلی است. اطلاعات مالی شما هرگز در فضای ابری ذخیره نمیشوند و به طور کامل روی رایانه شخصی خودتان باقی میمانند.
جمعبندی نهایی
نرمافزار TracknSave با ترکیب قدرتمند Laravel و Filament v4 توانسته است ابزاری فوقالعاده سریع، کاربرپسند و امن را پدید آورد. این برنامه با حذف اصطلاحات سخت حسابداری و ارائه فرمهای ثبت سریع، موانع استفاده روزمره از نرمافزارهای مالی را برطرف کرده است.
قابلیتهای ارزشمندی چون پشتیبانی همزمان از تاریخهای جلالی و میلادی، تبدیل ارقام به فارسی، مدیریت یکپارچه بدهیها و یادآورها، و سیستم پشتیبانگیری پیشرفته محلی، ارزش بالایی را برای هر کاربر به ارمغان میآورد.