سامانه مدیریت مالی شخصی و مشترک با ASP.NET Core Razor Pages، PostgreSQL، Tailwind CSS، Docker و Caddy.
- ثبتنام و ورود با ماندگاری ۳۰روزه گزینه «مرا به خاطر بسپار»
- جداسازی کامل اطلاعات کاربران
- فضای مالی شخصی و مشترک
- ثبت و مدیریت مخارج و دستهبندیها
- مبلغهای ورودی با جداسازی سهرقمی
- ورود و نمایش تاریخ بهصورت شمسی مانند
۱۴۰۵/۰۵/۰۸ - بودجهبندی ماهانه و هشدار عبور از سقف
- هدفهای پسانداز شخصی و مشترک
- ثبت اقساط و هزینههای ثابت، سررسید، یادآوری و پیشرفت پرداخت
- گزارش روزانه، هفتگی، ماهانه و سالانه
- خروجی خودتوضیح برای دستیار AI و ورود امن JSON تغییرات با پیشنمایش انتخابی
- راهنمای شروع داخل برنامه برای کاربران جدید
- HTTPS خودکار با Caddy
- CI/CD خودکار پس از Push روی شاخه
main
فایل .env سرور باید شامل دامنه، ایمیل ACME و رمز PostgreSQL باشد. سپس:
docker compose --env-file .env -f docker-compose.domain.yml up -d --buildوضعیت:
docker compose --env-file .env -f docker-compose.domain.yml psلاگها:
docker compose --env-file .env -f docker-compose.domain.yml logs -f --tail=200راهنمای کامل تنظیم Repository جدید donysh، Deploy Key، GitHub Actions Secrets و آمادهسازی سرور در فایل زیر است:
CI-CD.md
Workflow آماده در مسیر زیر قرار دارد:
.github/workflows/deploy.yml
اسکریپت استقرار سرور:
scripts/server-deploy.sh
این اسکریپت اطلاعات Docker Volumeها را حذف نمیکند و پس از هر استقرار مسیر /health را بررسی میکند.
کاربر تاریخ را شمسی وارد و شمسی مشاهده میکند. در PostgreSQL نوع date یک تاریخ مطلق و مستقل از تقویم است؛ برنامه تاریخ شمسی واردشده را به همان روز متناظر تبدیل میکند و هنگام نمایش دوباره به شمسی برمیگرداند. به این ترتیب مرتبسازی، فیلتر و گزارشگیری دقیق باقی میماند.
صفحه «دستیار هوشمند» یک فایل JSON برای فضای مالی فعال میسازد که علاوه بر snapshot دادهها، شامل راهنمای فارسی تحلیل مالی، فرهنگ دادهها و قرارداد donysh.changes است. کاربر فایل را به سرویس AI انتخابی خود میدهد و JSON پیشنهادی را دوباره در Donysh وارد میکند.
از آنجا که سرویسهای AI ممکن است دستور داخل فایل پیوستشده را صرفاً داده تلقی کنند، صفحه دستیار یک «پیام همراه فایل» نیز نمایش میدهد. کاربر پس از پیوست فایل این پیام را کپی و در گفتگو ارسال میکند تا تحلیل و JSON انتهای هر پاسخ بهصورت درخواست مستقیم کاربر الزامآور باشد.
هیچ JSON ورودی مستقیماً اعمال نمیشود. Donysh ابتدا تغییرهای دستهبندی، بودجه، هدف پسانداز و قسط را اعتبارسنجی و preview میکند؛ سپس فقط مواردی را که کاربر تیک زده در یک تراکنش اعمال میکند. توکن preview رمزنگاریشده و کوتاهعمر است و همه lookupها به فضای فعالِ قابل دسترسی برای کاربر محدود میشوند. فیلدهای workspaceId و userId از JSON پذیرفته نمیشوند.
برای توقف یا بهروزرسانی عادی از -v استفاده نکنید:
docker compose --env-file .env -f docker-compose.domain.yml downدستور زیر Volumeهای دیتابیس را حذف میکند و خطرناک است:
docker compose --env-file .env -f docker-compose.domain.yml down -vفایل فونت تجاری داخل این بسته بازتوزیع نشده است. اسکریپت نصب فایل مجاز شما در پوشه scripts موجود است..