نمای کلی پروژه/اپلیکیشن
| عنوان | اطلاعات |
|---|---|
| نام پروژه/اپلیکیشن | TracknSave |
| تاریخ شروع پروژه | تاریخ دقیق از روی Git history قابل تأیید نبود؛ بر اساس قدیمیترین فایلهای پروژه، نسخه موجود حداقل از ۱۴ مه ۲۰۲۶ وجود داشته است. |
| پلتفرم هدف | وباپلیکیشن مبتنی بر مرورگر با پنل مدیریتی تحت مسیر /admin |
| وضعیت فعلی | کد فعلی نسخهی قابل استفادهای را نشان میدهد که ماژولهای اصلی آن پیادهسازی شدهاند؛ برخی قابلیتها محدود یا فاقد استفادهی عملیاتیِ تأییدشده هستند. |
فناوریها و ابزارهای استفادهشده
پشتیبانی دیتابیس در سطح پیکربندی: SQLite، MySQL، MariaDB، PostgreSQL، SQL Server.
معرفی کوتاه
TracknSave یک وباپلیکیشن برای ثبت، دستهبندی، پیگیری و مرور اطلاعات مالی شخصی است. ساختار فعلی برنامه نشان میدهد که کاربر میتواند حسابهای مالی مختلف خود را تعریف کند، تراکنشهای درآمد، هزینه، انتقال و تعدیل را ثبت کند، اشخاص مرتبط را نگه دارد، بدهی و وام را دنبال کند، برای موارد مهم یادآور بسازد، یادداشت ثبت کند و از دادههای خود نسخهی پشتیبان بگیرد.
هدف پروژه
هدف پروژه این است که کاربر بتواند اطلاعات مالی روزمرهی خود را در یک محیط یکپارچه نگه دارد و به جای پراکندگی اطلاعات در دفتر، پیامرسان، فایلهای جداگانه یا حافظهی شخصی، همهچیز را در یک سامانهی قابل جستوجو و قابل گزارشگیری مدیریت کند.
- ثبت منظم درآمدها و هزینهها
- تفکیک حسابهای مالی مختلف مانند نقدی، بانکی، کارت اعتباری، کیف پول دیجیتال و پسانداز
- پیگیری ارتباط مالی با اشخاص
- پیگیری بدهیها و وامها
- ایجاد یادآور برای رویدادهای مالی
- مشاهدهی گزارشهای خلاصه و ماهانه
- نگهداری نسخهی پشتیبان از دادهها
کاربران هدف
- افرادی که میخواهند دخلوخرج شخصی خود را ثبت و مرور کنند
- کاربرانی که چند حساب مالی مختلف دارند و میخواهند مانده هر کدام را جداگانه ببینند
- کاربرانی که تراکنشهای خود را با اشخاص مشخصی مرتبط میکنند
- افرادی که میخواهند بدون پیچیدگی سیستمهای حسابداری بزرگ، یک ابزار مالی ساختیافته داشته باشند
قابلیتهای اصلی
۵.۱ داشبورد و نمای کلی مالی
- نمایش خلاصهی مالی ماه جاری (درآمد، هزینه، خالص ماه)؛ نمایش سریع حسابها و ماندهها
- نمایش یادداشتهای اخیر، یادآورهای نزدیک و تراکنشهای اخیر
- ثبت سریع تراکنش از دستهبندیهای پرکاربرد، همراه با شخص، یادداشت، تاریخ، فایل پیوست و ساخت یادآور
۵.۲ مدیریت حسابها
فیلدهای تخصصی: شماره حساب/کارت، چهار رقم آخر کارت، سقف اعتبار، روز صدور صورتحساب، اضافهبرداشت، موجودی اولیه، رنگ و مرتبسازی. منطق محاسبهی موجودی و اعتبار باقیمانده در لایهی سرویس پیادهسازی شده است.
۵.۳ مدیریت تراکنشها
- هزینه
- درآمد
- انتقال بین حسابها
- تعدیل
- حساب، دستهبندی، شخص مرتبط
- مبلغ، تاریخ، یادداشت کوتاه
- توضیح، فایل پیوست
برای انتقال، حساب مقصد و کارمزد پشتیبانی میشود. عملیات CRUD از طریق TransactionService انجام میشود و همزمان ماندهی حسابها بهروزرسانی میشود؛ نوع تراکنش در ویرایش ثابت نگه داشته میشود (با تست خودکار).
۵.۴ دستهبندیها
دستهبندیها میتوانند مخصوص هزینه، مخصوص درآمد یا هر دو باشند؛ ساختار والد/فرزند، رنگ، آیکن، ترتیب نمایش، فعال/غیرفعال و دسترسی سریع نیز پیادهسازی شده است.
۵.۵ اشخاص
نگهداری نام، موبایل، ایمیل، نوع رابطه (دوست، خانواده، همکار، مشتری، فروشنده، قرضگیرنده، قرضدهنده، سایر) و توضیحات؛ برای هر شخص یک صفحهی گزارش تراکنش اختصاصی وجود دارد.
۵.۶ بدهی و وام
هر رکورد میتواند به یک شخص و حساب متصل شود و شامل مبلغ کل، مبلغ پرداختشده، سررسید، وضعیت و توضیحات باشد؛ مدل جداگانه DebtPayment برای پرداختهای جزئی، با پیگیری وضعیت فعال/جزئیتسویه/تسویهشده.
۵.۷ یادآورها
اتصال به تراکنش، شخص، حساب یا بدهی؛ الگوهای تکرار: بدون تکرار، روزانه، هفتگی، ماهانه، سالانه؛ وضعیت: در انتظار، انجامشده، ردشده.
۵.۸ یادداشتها
عنوان، متن، رنگ پسزمینه، حالت سنجاقشده و وضعیت فعال؛ ارتباط با شخص، حساب و تراکنش در مدل داده وجود دارد (هرچند در فرم فعلی همهی این ارتباطها به یک اندازه قابل دسترس نیستند).
۵.۹ بانکها و فضاهای مالی
نام فارسی/انگلیسی، کد SWIFT، کشور، وضعیت فعال.
دستهبندی یا تفکیک منطقی دادهها در چند فضای جداگانه، با رنگ، آیکن، وضعیت فعال و ترتیب نمایش.
۵.۱۰ تنظیمات عمومی
از طریق Spatie Laravel Settings: زبان، ارز و نماد، محل نمایش نماد، رقم اعشار، جداکننده هزارگان، قالب نمایش منفی، قالب تاریخ/زمان، نوع تقویم، روز شروع هفته، شروع ماه مالی، رنگ اصلی، نوع نمایش اعداد، فونت برنامه.
۵.۱۱ راهنما و صفحهی درباره
سیستم راهنمای داخلی برای چند بخش برنامه و صفحه «درباره» مجزا وجود دارد.
برنامه چگونه کار میکند
- کاربر از طریق پنل وب وارد سیستم میشود.
- ابتدا تنظیمات پایه (زبان، تقویم، ارز، ظاهر) را تنظیم میکند.
- سپس حسابها، دستهبندیها، بانکها، اشخاص و فضاهای مالی را تعریف میکند.
- تراکنشها را ثبت میکند؛ برنامه ماندهی حسابها و خلاصههای مالی را محاسبه میکند.
- برای موارد مهم یادداشت و یادآور ثبت میکند.
- گزارش ماهانه و گزارش تراکنشهای اشخاص را مشاهده میکند.
- از بخش پشتیبانگیری برای نگهداری ایمن دادهها استفاده میکند.
بخشها و صفحههای مهم
منطق کسبوکار مهم
- بهروزرسانی ماندهی حسابها هنگام ایجاد، ویرایش و حذف تراکنش
- محاسبهی اعتبار باقیمانده برای کارتهای اعتباری و ظرفیت باقیمانده حسابهای اضافهبرداشت
- تبدیل و نمایش تاریخها با پشتیبانی از تقویم جلالی و میلادی
- قالببندی اعداد و مبالغ بر اساس تنظیمات کاربر
- پیشنهاد حساب پیشفرض در ثبت سریع بر اساس استفادهی اخیر همان دستهبندی
- ساخت یادآور همزمان با ثبت سریع تراکنش
دادهها و اطلاعاتی که برنامه مدیریت میکند
- اطلاعات حسابها و بانکها
- دستهبندیها، اشخاص، تراکنشها
- بدهیها و وامها، یادآورها، یادداشتها
- تنظیمات نمایش، زبان، تقویم و ارز
- ماندهی فعلی حسابها؛ خلاصهی درآمد و هزینه ماه
- خالص ماه؛ اعتبار باقیمانده کارت اعتباری
- گزارشهای خلاصه و شخصی؛ فایلهای اکسل خروجی
- فایلهای پشتیبان و فایل موقت بازیابی
تراکنشها میتوانند فایل پیوست داشته باشند؛ این فایلها در دیسک public و پوشه transaction-attachments ذخیره میشوند.
حریم خصوصی و امنیت
- ورود به پنل مدیریت فعال است و از سازوکار احراز هویت Laravel/Filament استفاده میشود.
- نشستهای کاربر بهصورت database پیکربندی شدهاند؛ middlewareهای متداول (نشست، کوکی، CSRF، احراز هویت) فعال هستند.
- فایلهای پشتیبان در فضای ذخیرهسازی محلی تولید میشوند؛ هیچ ادغامی با سرویس ابری مشاهده نشد.
بومیسازی و پشتیبانی زبانی
- زبان فارسی و انگلیسی؛ ترجمهها در resources/lang/fa.json، en.json و fa/validation.php
- راستبهچپ بودن رابط کاربری فارسی در پنل Filament و CSS عمومی بهصورت صریح اعمال شده است
- نمایش اعداد فارسی/لاتین و تنظیمات قالببندی عدد در لایهی پشتیبانی برنامه وجود دارد
- پشتیبانی از تقویم جلالی و میلادی یکی از قابلیتهای شاخص این بخش است
رابط کاربری و تجربهی کاربری
رابط کاربری بر پایهی Filament Admin Panel ساخته شده و تلاش شده عملیات روزمره با کمترین اصطکاک انجام شود.
- داشبورد متمرکز با اقدامهای سریع؛ نمایش کارتها و خلاصههای مالی
- دسترسی سریع به دستهبندیهای پرکاربرد؛ استفاده از رنگ و آیکن برای فهم بهتر
- فرمهای مدیریتی ساختیافته؛ راهنمای داخلی برای برخی بخشها
- پشتیبانی از فونتهای قابل انتخاب و تم رنگی
خروجی، پشتیبانگیری، بازیابی و گزارشگیری
خروجی دادهها
در صفحهی Export Data، خروجی اکسل برای تراکنشها با فیلتر بازهی زمانی و نوع تراکنش پیادهسازی شده است. امکان تولید رسید PDF برای یک تراکنش در لایهی سرویس/قالب وجود دارد، اما خروجی PDF عمومی برای فهرست یا بازهی تراکنشها بهصورت آشکار ارائه نشده است.
پشتیبانگیری و بازیابی
- ایجاد، فهرست، دانلود و حذف نسخههای پشتیبان
- بازیابی از فایل موجود یا بارگذاری فایل خارجی
- تنظیم مسیر ذخیرهسازی و ابزار mysqldump؛ تعداد نسخههای قابل نگهداری
- زمانبندی پشتیبانگیری خودکار و تولید فایل BAT برای ویندوز
گزارشها
گزارش ماهانه، گزارش تراکنشهای هر شخص، و خلاصههای داشبورد — دامنهی گزارشگیری فراتر از این موارد توصیف نشده است.
خلاصهی معماری فنی
| لایه | توضیح |
|---|---|
| Models | مدلهای داده مانند Account، Transaction، Person، Debt، Reminder |
| Filament Resources | فرمها، جدولها و عملیات CRUD برای موجودیتهای اصلی |
| Filament Pages | صفحههای سفارشی: داشبورد، گزارشها، خروجی، پشتیبانگیری |
| Services | مدیریت تراکنش، محاسبهی مانده، خروجی و پشتیبانگیری |
| Support Classes | ابزارهای کمکی برای تاریخ، زبان، تنظیمات، نرمالسازی متن و راهنما |
| Settings | نگهداری تنظیمات با spatie/laravel-settings |
| Views | قالبهای Blade برای صفحهها، ویجتها و PDF |
منطق مهم بیشتر در سرویسها نگهداری میشود تا فرمها و کنترلرها؛ این رویکرد برای نگهداری و توسعهی بعدی مفید است.
محدودیتها و موارد عمداً نادیدهگرفتهشده
- سیستم نقش و مجوز پیشرفته؛ احراز هویت دومرحلهای
- رمزگذاری اختصاصی برای فایلهای پشتیبان؛ همگامسازی ابری
- اپلیکیشن موبایل بومی برای Android یا iOS
- ماژول تأییدشدهی «صندوق خانوادگی» در کد فعلی
- واردسازی عمومی دادهها از فایلهای خارجی
- مجموعهی گستردهای از گزارشهای متنوع فراتر از گزارش ماهانه و اشخاص
قابلیتهای تکمیلشده و موارد ناقص
- ورود به پنل؛ داشبورد با خلاصه مالی
- مدیریت حسابها، تراکنشها، دستهبندیها، اشخاص
- مدیریت بدهی، وام، یادآورها، یادداشتها
- مدیریت بانکها و فضاهای مالی
- گزارش ماهانه و اشخاص؛ خروجی اکسل
- رسید PDF در لایهی سرویس؛ پشتیبانگیری MySQL
- بومیسازی فارسی/انگلیسی و RTL
- تاریخ شروع دقیق پروژه از Git قابل تأیید نبود
- خروجی PDF عمومی در رابط کاربری دیده نشد
- پشتیبانگیری برای دیتابیسهای غیر MySQL/MariaDB پیادهسازی نشده
- استفادهی واقعی از app_pin تأیید نشد
- سیستم سطحبندی دسترسی پیشرفته مشاهده نشد
متن معرفی عمومی و بازاریابی واقعگرایانه
TracknSave یک وباپلیکیشن مدیریت مالی شخصی است که به شما کمک میکند حسابها، تراکنشها، بدهیها، یادآورها و یادداشتهای مالی خود را در یک محیط منظم و قابل پیگیری مدیریت کنید. این پروژه برای کاربرانی ساخته شده که میخواهند بدون درگیر شدن با پیچیدگی نرمافزارهای حسابداری بزرگ، تصویر روشنتری از وضعیت مالی روزمرهی خود داشته باشند.
در نسخهی فعلی، برنامه امکاناتی مانند ثبت درآمد و هزینه، انتقال بین حسابها، گزارش ماهانه، گزارش تراکنشهای اشخاص، پشتیبانگیری و بازیابی، و پشتیبانی از زبان فارسی و انگلیسی را ارائه میدهد.
جمعبندی نهایی
TracknSave در وضعیت فعلی یک سامانهی وب قابل استفاده برای مدیریت مالی شخصی است که بخشهای اصلی مورد نیاز برای ثبت و پیگیری اطلاعات مالی را پوشش میدهد. ارزش اصلی آن در یکپارچه کردن دادههای مالی روزمره، ساده کردن فرایند ثبت اطلاعات، و فراهم کردن دید بهتر نسبت به حسابها، تراکنشها، بدهیها و یادآورها است.
در عین حال، این پروژه هنوز یک محصول با امکانات امنیتی یا تحلیلی بسیار پیشرفته نیست و برخی بخشها دامنهی محدودی دارند. همین شفافیت باعث میشود توصیف پروژه دقیق، قابل اعتماد و مناسب انتشار عمومی باقی بماند.