Skip to content

Repository files navigation

دنیش / Donysh — نسخه Production و CI/CD

سامانه مدیریت مالی شخصی و مشترک با 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

CI/CD

راهنمای کامل تنظیم 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

فونت IRANYekanX Pro

فایل فونت تجاری داخل این بسته بازتوزیع نشده است. اسکریپت نصب فایل مجاز شما در پوشه scripts موجود است..

About

سامانه مدیریت مالی شخصی و مشترک

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages