Shayan Azadi 11dfe28623 Unify FunZone voucher sync on the accounting documents page.
Consolidate sync buttons into one flow on ????? ????????, deduplicate treasury vs invoice and customer vouchers, add FunZone inventory lifecycle views, and improve stat card number display.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-07 15:13:18 +03:30

سپیدار فان‌زون — سیستم حسابداری (FunZone Accounting)

یک سیستم حسابداری یکپارچه با الهام از نرم‌افزار سپیدار، طراحی‌شده برای مجموعه FunZone. رابط کاربری کاملاً فارسی و راست‌به‌چپ (RTL) با تجربه کاربری مدرن و ساده.

امکانات (ماژول‌ها)

مطابق ساختار «سیستم»‌های سپیدار:

ماژول توضیح
داشبورد شاخص‌های کلیدی، نمودار روند فروش/خرید، هشدار موجودی، ترازنامه فشرده
حساب‌ها (کدینگ) کدینگ استاندارد حساب‌ها (دارایی، بدهی، سرمایه، درآمد، هزینه) با گروه و معین
اسناد حسابداری ثبت سند دوطرفه با کنترل تراز بدهکار/بستانکار و وضعیت پیش‌نویس/قطعی
مشتریان و فروش مدیریت مشتریان و صدور فاکتور فروش با محاسبه تخفیف و مالیات
تأمین‌کنندگان و خرید مدیریت تأمین‌کنندگان و ثبت فاکتور خرید
انبارداری تعریف کالا، قیمت‌گذاری، کنترل موجودی و تعدیل انبار
دریافت و پرداخت خزانه‌داری نقدی، بانکی و چک
حقوق و دستمزد مدیریت کارکنان و صدور فیش حقوقی
مالکان مجموعه‌ها اطلاعات مالی واقعی صاحبان مجموعه‌ها (از اپ مالکان): موجودی کیف پول، گردش حساب، برداشت‌ها
کاربران اطلاعات مالی واقعی مشتریان (از اپ مشتریان): موجودی، پرداخت‌ها و بازپرداخت‌ها
گزارش‌ها تراز آزمایشی، دفتر کل، صورت سود و زیان، ترازنامه
تنظیمات اطلاعات شرکت، سال مالی، نرخ مالیات، اتصال به سرور

اتصال به داده‌های واقعی (بک‌اند فان‌زون)

دو بخش «مالکان مجموعه‌ها» و «کاربران» داده‌ها را به‌صورت زنده از بک‌اند funzone-backend می‌خوانند (از همان APIهای مدیریتی پنل ادمین). برای اتصال:

  1. مطمئن شوید بک‌اند Django در حال اجراست (مثلاً روی http://localhost:8000).
  2. در برنامه به تنظیمات ← اتصال به سرور فان‌زون بروید.
  3. آدرس سرور (پیش‌فرض http://localhost:8000/api) و نام کاربری/رمز عبور مدیر (admin) را وارد و «اتصال» را بزنید.

به‌صورت اختیاری می‌توانید آدرس سرور را در فایل .env نیز تنظیم کنید:

VITE_API_BASE_URL=http://localhost:8000/api

توکن دسترسی و آدرس سرور در مرورگر ذخیره می‌شوند. APIهای مورد استفاده فقط خواندنی هستند (لیست مالکان/کاربران، تراکنش‌ها، پرداخت‌ها و برداشت‌ها) و نیاز به دسترسی مدیر دارند.

پشته فناوری

  • React 18 + TypeScript (strict)
  • Vite 5
  • Tailwind CSS 3
  • React Router 6
  • ذخیره‌سازی محلی (localStorage) — بدون نیاز به بک‌اند

اجرا

npm install
npm run dev

برنامه روی پورت 5176 اجرا می‌شود: http://localhost:5176

دستورهای دیگر:

npm run build     # بیلد تولیدی
npm run preview   # پیش‌نمایش بیلد روی پورت 5176
npm run lint      # بررسی نوع‌ها (type-check)

Docker

docker compose up -d --build

The container serves the production build on http://localhost:3006.

Build-time API URLs (FunZone backend + accounting service):

VITE_API_BASE_URL=http://localhost:8001/api \
VITE_ACCOUNTING_BASE_URL=http://localhost:8010/api \
docker compose up -d --build

معماری

  • src/types — مدل‌های دامنه با تایپ قوی
  • src/data — لایه ذخیره‌سازی و داده‌های نمونه
  • src/store — مدیریت وضعیت سراسری (Context) با CRUD تایپ‌شده و ذخیره خودکار
  • src/utils — محاسبات حسابداری (تراز، دفتر کل، سود و زیان)، قالب‌بندی اعداد و تاریخ شمسی
  • src/components/ui — کیت رابط کاربری قابل استفاده مجدد
  • src/components/layout — چیدمان، نوار کناری و نوار بالا
  • src/components/business — ماژول مشترک فروش/خرید
  • src/pages — صفحات هر ماژول

داده‌ها در مرورگر ذخیره می‌شوند. برای بازگشت به داده‌های نمونه از «تنظیمات ← بازنشانی» استفاده کنید.

Description
No description provided
Readme 485 KiB
Languages
TypeScript 99.2%
CSS 0.3%
JavaScript 0.2%
Dockerfile 0.2%
HTML 0.1%