96 lines
5.1 KiB
Markdown
96 lines
5.1 KiB
Markdown
# سپیدار فانزون — سیستم حسابداری (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` — صفحات هر ماژول
|
||
|
||
> دادهها در مرورگر ذخیره میشوند. برای بازگشت به دادههای نمونه از «تنظیمات ← بازنشانی» استفاده کنید.
|