Files
accounting-frontend/README.md
2026-07-01 00:32:25 +03:30

96 lines
5.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# سپیدار فان‌زون — سیستم حسابداری (FunZone Accounting)
یک سیستم حسابداری یکپارچه با الهام از نرم‌افزار **سپیدار**، طراحی‌شده برای مجموعه FunZone.
رابط کاربری کاملاً فارسی و راست‌به‌چپ (RTL) با تجربه کاربری مدرن و ساده.
## امکانات (ماژول‌ها)
مطابق ساختار «سیستم»‌های سپیدار:
| ماژول | توضیح |
|-------|-------|
| **داشبورد** | شاخص‌های کلیدی، نمودار روند فروش/خرید، هشدار موجودی، ترازنامه فشرده |
| **حساب‌ها (کدینگ)** | کدینگ استاندارد حساب‌ها (دارایی، بدهی، سرمایه، درآمد، هزینه) با گروه و معین |
| **اسناد حسابداری** | ثبت سند دوطرفه با کنترل تراز بدهکار/بستانکار و وضعیت پیش‌نویس/قطعی |
| **مشتریان و فروش** | مدیریت مشتریان و صدور فاکتور فروش با محاسبه تخفیف و مالیات |
| **تأمین‌کنندگان و خرید** | مدیریت تأمین‌کنندگان و ثبت فاکتور خرید |
| **انبارداری** | تعریف کالا، قیمت‌گذاری، کنترل موجودی و تعدیل انبار |
| **دریافت و پرداخت** | خزانه‌داری نقدی، بانکی و چک |
| **حقوق و دستمزد** | مدیریت کارکنان و صدور فیش حقوقی |
| **مالکان مجموعه‌ها** | اطلاعات مالی واقعی صاحبان مجموعه‌ها (از اپ مالکان): موجودی کیف پول، گردش حساب، برداشت‌ها |
| **کاربران** | اطلاعات مالی واقعی مشتریان (از اپ مشتریان): موجودی، پرداخت‌ها و بازپرداخت‌ها |
| **گزارش‌ها** | تراز آزمایشی، دفتر کل، صورت سود و زیان، ترازنامه |
| **تنظیمات** | اطلاعات شرکت، سال مالی، نرخ مالیات، اتصال به سرور |
## اتصال به داده‌های واقعی (بک‌اند فان‌زون)
دو بخش «مالکان مجموعه‌ها» و «کاربران» داده‌ها را به‌صورت زنده از بک‌اند `funzone-backend` می‌خوانند
(از همان APIهای مدیریتی پنل ادمین). برای اتصال:
1. مطمئن شوید بک‌اند Django در حال اجراست (مثلاً روی `http://localhost:8000`).
2. در برنامه به **تنظیمات ← اتصال به سرور فان‌زون** بروید.
3. آدرس سرور (پیش‌فرض `http://localhost:8000/api`) و نام کاربری/رمز عبور **مدیر (admin)** را وارد و «اتصال» را بزنید.
به‌صورت اختیاری می‌توانید آدرس سرور را در فایل `.env` نیز تنظیم کنید:
```bash
VITE_API_BASE_URL=http://localhost:8000/api
```
> توکن دسترسی و آدرس سرور در مرورگر ذخیره می‌شوند. APIهای مورد استفاده فقط خواندنی هستند
> (لیست مالکان/کاربران، تراکنش‌ها، پرداخت‌ها و برداشت‌ها) و نیاز به دسترسی مدیر دارند.
## پشته فناوری
- React 18 + TypeScript (strict)
- Vite 5
- Tailwind CSS 3
- React Router 6
- ذخیره‌سازی محلی (localStorage) — بدون نیاز به بک‌اند
## اجرا
```bash
npm install
npm run dev
```
برنامه روی پورت **5176** اجرا می‌شود: <http://localhost:5176>
دستورهای دیگر:
```bash
npm run build # بیلد تولیدی
npm run preview # پیش‌نمایش بیلد روی پورت 5176
npm run lint # بررسی نوع‌ها (type-check)
```
## Docker
```bash
docker compose up -d --build
```
The container serves the production build on **http://localhost:3006**.
Build-time API URLs (FunZone backend + accounting service):
```bash
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` — صفحات هر ماژول
> داده‌ها در مرورگر ذخیره می‌شوند. برای بازگشت به داده‌های نمونه از «تنظیمات ← بازنشانی» استفاده کنید.