update
This commit is contained in:
@@ -0,0 +1,360 @@
|
||||
# 📚 BackOffice (Admin Panel) - Complete Documentation
|
||||
|
||||
> **آخرین بروزرسانی**: January 3, 2026
|
||||
> **Build Status**: ✅ SUCCESS (0 Errors)
|
||||
> **Framework**: Blazor WebAssembly (.NET 9.0) + MudBlazor UI
|
||||
|
||||
---
|
||||
|
||||
## 📊 وضعیت کلی سیستم
|
||||
|
||||
| Component | Status | Errors |
|
||||
|-----------|--------|--------|
|
||||
| BackOffice UI | ✅ SUCCESS | 0 |
|
||||
| BackOffice.BFF | ✅ SUCCESS | 0 |
|
||||
| CMS Microservice | ✅ SUCCESS | 0 |
|
||||
|
||||
**System Status**: 🟢 **PRODUCTION READY**
|
||||
|
||||
---
|
||||
|
||||
## 🗂️ ماژولهای فعال (21 ماژول - 96 صفحه)
|
||||
|
||||
### آمار صفحات هر ماژول:
|
||||
|
||||
| ماژول | تعداد صفحات | وضعیت |
|
||||
|-------|-------------|--------|
|
||||
| DiscountShop | 9 | ✅ |
|
||||
| Inventory | 9 | ✅ |
|
||||
| AutoComplete | 7 | ✅ |
|
||||
| Products | 7 | ✅ |
|
||||
| UserOrder | 6 | ✅ |
|
||||
| Commission | 6 | ✅ |
|
||||
| Club | 5 | ✅ |
|
||||
| Network | 4 | ✅ |
|
||||
| Payment | 4 | ✅ |
|
||||
| PublicMessages | 4 | ✅ |
|
||||
| Role | 4 | ✅ |
|
||||
| UserRole | 4 | ✅ |
|
||||
| SystemManagement | 4 | ✅ |
|
||||
| Category | 3 | ✅ |
|
||||
| Package | 3 | ✅ |
|
||||
| Settings | 3 | ✅ |
|
||||
| Tag | 3 | ✅ |
|
||||
| UserAddress | 3 | ✅ |
|
||||
| Dashboard | 2 | ✅ |
|
||||
| Login | 2 | ✅ |
|
||||
| User | 2 | ✅ |
|
||||
|
||||
---
|
||||
|
||||
## 📦 Proto Projects (24 پروژه)
|
||||
|
||||
### Core:
|
||||
- ✅ `BackOffice.BFF.Common.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Health.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Configuration.Protobuf`
|
||||
|
||||
### User Management:
|
||||
- ✅ `BackOffice.BFF.User.Protobuf`
|
||||
- ✅ `BackOffice.BFF.UserRole.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Role.Protobuf`
|
||||
- ✅ `BackOffice.BFF.UserAddress.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Otp.Protobuf`
|
||||
|
||||
### Products & Shop:
|
||||
- ✅ `BackOffice.BFF.Products.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Category.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Tag.Protobuf`
|
||||
- ✅ `BackOffice.BFF.ProductTag.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Package.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Inventory.Protobuf`
|
||||
|
||||
### Discount Shop:
|
||||
- ✅ `BackOffice.BFF.DiscountProduct.Protobuf`
|
||||
- ✅ `BackOffice.BFF.DiscountCategory.Protobuf`
|
||||
- ✅ `BackOffice.BFF.DiscountOrder.Protobuf`
|
||||
- ✅ `BackOffice.BFF.DiscountShoppingCart.Protobuf`
|
||||
|
||||
### Network & Commission:
|
||||
- ✅ `BackOffice.BFF.NetworkMembership.Protobuf`
|
||||
- ✅ `BackOffice.BFF.ClubMembership.Protobuf`
|
||||
- ✅ `BackOffice.BFF.Commission.Protobuf`
|
||||
|
||||
### Orders & Payments:
|
||||
- ✅ `BackOffice.BFF.UserOrder.Protobuf`
|
||||
- ✅ `BackOffice.BFF.ManualPayment.Protobuf`
|
||||
|
||||
### Messaging:
|
||||
- ✅ `BackOffice.BFF.PublicMessage.Protobuf`
|
||||
|
||||
---
|
||||
|
||||
## 🔧 معماری سیستم
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ BackOffice (Blazor WASM) │
|
||||
│ 96 Pages / 21 Modules │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
gRPC-Web + JWT
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ BackOffice.BFF │
|
||||
│ CQRS Handlers + Proto Contracts │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
gRPC
|
||||
│
|
||||
▼
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ CMS Microservice │
|
||||
│ Business Logic + PostgreSQL │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 راهنمای Build و Deploy
|
||||
|
||||
### Local Development:
|
||||
|
||||
```bash
|
||||
cd /home/masoud/Apps/project/FourSat/BackOffice/src
|
||||
dotnet build BackOffice.sln
|
||||
dotnet run --project BackOffice/BackOffice.csproj
|
||||
```
|
||||
|
||||
### Production با DLL های Proto:
|
||||
|
||||
```bash
|
||||
# 1. Build proto dependencies
|
||||
cd /home/masoud/Apps/project/FourSat/BackOffice
|
||||
./build-deps.sh
|
||||
|
||||
# 2. Build & Publish
|
||||
cd src
|
||||
dotnet publish BackOffice/BackOffice.csproj -c Release -o ./publish
|
||||
```
|
||||
|
||||
### Docker:
|
||||
|
||||
```bash
|
||||
cd /home/masoud/Apps/project/FourSat/BackOffice
|
||||
docker build -t backoffice:latest .
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📋 جزئیات ماژولها
|
||||
|
||||
### 1. Products Module
|
||||
**مسیر**: `Pages/Products/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| ProductsMainPage | `/products` | لیست + فیلتر + صفحهبندی |
|
||||
| CreateDialog | - | ایجاد محصول + آپلود تصویر |
|
||||
| UpdateDialog | - | ویرایش محصول |
|
||||
| GalleryDialog | - | گالری تصاویر محصول |
|
||||
| BulkEdit | `/products/bulk-edit` | ویرایش گروهی قیمت/موجودی |
|
||||
| ProductCategoriesDragDropPage | `/products/categories` | تخصیص دستهبندی |
|
||||
| CategoryProductsDragDropPage | `/category/products` | مدیریت محصولات دسته |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ ستون موجودی با رنگبندی هوشمند (🔴🟡🟢)
|
||||
- ✅ DragDrop دستهبندی محصولات
|
||||
- ✅ آپلود تصویر با پیشنمایش
|
||||
- ✅ مدیریت تگهای محصول
|
||||
|
||||
---
|
||||
|
||||
### 2. Inventory Module
|
||||
**مسیر**: `Pages/Inventory/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| InventoryMainPage | `/inventory` | لیست موجودیها |
|
||||
| LowStockPage | `/inventory/low-stock` | هشدار موجودی کم |
|
||||
| MovementsPage | `/inventory/movements` | تاریخچه حرکات |
|
||||
| WarehousesPage | `/inventory/warehouses` | مدیریت انبارها |
|
||||
| AddStockDialog | - | اضافه کردن موجودی |
|
||||
| AdjustStockDialog | - | تنظیم موجودی |
|
||||
| RecordLossDialog | - | ثبت ضایعات |
|
||||
| TransferStockDialog | - | انتقال بین انبار |
|
||||
| InventorySettingsDialog | - | تنظیمات انبار |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ انواع حرکت موجودی (ورود، خروج، تنظیم، انتقال، ضایعات)
|
||||
- ✅ هشدار موجودی کم با threshold قابل تنظیم
|
||||
- ✅ پشتیبانی از multi-warehouse
|
||||
|
||||
---
|
||||
|
||||
### 3. Discount Shop Module
|
||||
**مسیر**: `Pages/DiscountShop/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| DiscountProductsMainPage | `/discount-products` | محصولات تخفیفی |
|
||||
| DiscountCategoriesMainPage | `/discount-categories` | دستهبندیها |
|
||||
| DiscountOrdersMainPage | `/discount-orders` | سفارشات |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ CRUD محصولات تخفیفی
|
||||
- ✅ گالری تصاویر
|
||||
- ✅ مدیریت دستهبندی سلسلهمراتبی
|
||||
- ✅ مشاهده و تغییر وضعیت سفارشات
|
||||
|
||||
---
|
||||
|
||||
### 4. Commission Module
|
||||
**مسیر**: `Pages/Commission/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| Dashboard | `/commission` | داشبورد استخر هفتگی |
|
||||
| WeeklyReports | `/commission/reports` | گزارشهای هفتگی |
|
||||
| Payouts | `/commission/payouts` | لیست پرداختها |
|
||||
| Withdrawals | `/commission/withdrawals` | لیست برداشتها |
|
||||
| UserBalances | `/network/balances` | بالانس کاربران |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ نمایش استخر هفتگی با جزئیات
|
||||
- ✅ محاسبه ارزش هر بالانس
|
||||
- ✅ تاریخچه پرداختها و برداشتها
|
||||
|
||||
---
|
||||
|
||||
### 5. Network Module
|
||||
**مسیر**: `Pages/Network/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| NetworkMembersList | `/network/members` | لیست اعضای شبکه |
|
||||
| NetworkTreeViewer | `/network/tree` | نمای درختی شبکه |
|
||||
| NetworkStats | `/network/stats` | آمار شبکه |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ نمایش درختی شبکه بازاریابی
|
||||
- ✅ جستجو و فیلتر اعضا
|
||||
- ✅ آمار و گزارشگیری
|
||||
|
||||
---
|
||||
|
||||
### 6. Club Module
|
||||
**مسیر**: `Pages/Club/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| ClubMembersList | `/club/members` | لیست اعضای باشگاه |
|
||||
| ClubFeatures | `/club/features` | مدیریت ویژگیها |
|
||||
| ManualActivation | `/club/activate` | فعالسازی دستی |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ مدیریت اعضای باشگاه مشتریان
|
||||
- ✅ فعال/غیرفعال کردن ویژگیها برای هر کاربر
|
||||
- ✅ فعالسازی دستی با آپلود فیش پرداخت
|
||||
|
||||
---
|
||||
|
||||
### 7. User Order Module
|
||||
**مسیر**: `Pages/UserOrder/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| UserOrderMainPage | `/orders` | لیست سفارشات |
|
||||
| UserOrderDetailsDialog | - | جزئیات سفارش |
|
||||
| ChangeOrderStatusDialog | - | تغییر وضعیت |
|
||||
| CancelOrderDialog | - | لغو سفارش |
|
||||
| ApplyDiscountDialog | - | اعمال تخفیف |
|
||||
|
||||
**ویژگیها**:
|
||||
- ✅ مدیریت کامل سفارشات
|
||||
- ✅ نمایش جزئیات با VAT
|
||||
- ✅ تغییر وضعیت و لغو سفارش
|
||||
|
||||
---
|
||||
|
||||
### 8. System Management Module
|
||||
**مسیر**: `Pages/SystemManagement/`
|
||||
|
||||
| صفحه | Route | توضیحات |
|
||||
|------|-------|---------|
|
||||
| Configuration | `/system/config` | تنظیمات سیستم |
|
||||
| EmailConfig | `/system/email` | پیکربندی ایمیل |
|
||||
| SmsConfig | `/system/sms` | پیکربندی SMS |
|
||||
| Logs | `/system/logs` | لاگهای سیستم |
|
||||
|
||||
---
|
||||
|
||||
## 🔗 دامنهها و آدرسها (محیط Stage)
|
||||
|
||||
| سرویس | آدرس |
|
||||
|-------|------|
|
||||
| BackOffice UI | `https://backoffice.se.kbs1.ir` |
|
||||
| BackOffice BFF | `https://backoffice-bff.se.kbs1.ir` |
|
||||
| FrontOffice UI | `https://frontoffice.se.kbs1.ir` |
|
||||
| FrontOffice BFF | `https://frontoffice-bff.se.kbs1.ir` |
|
||||
| CMS | `https://cms.se.kbs1.ir` |
|
||||
| Git Registry | `git.se.kbs1.ir` |
|
||||
|
||||
---
|
||||
|
||||
## 📝 تاریخچه تغییرات اخیر
|
||||
|
||||
### January 3, 2026
|
||||
- ✅ مایگریشن Proto References به DLL-based Approach
|
||||
- ✅ تغییر دامنهها از `*.foursat.afrino.co` به `*.se.kbs1.ir`
|
||||
- ✅ بروزرسانی Git Remote URLs
|
||||
- ✅ ایجاد `build-deps.sh` برای CI/CD
|
||||
|
||||
### January 1, 2026
|
||||
- ✅ فعالسازی ماژول DiscountShop Frontend
|
||||
- ✅ فعالسازی ماژول Tag
|
||||
- ✅ فعالسازی ماژول PublicMessages
|
||||
|
||||
### December 20, 2025
|
||||
- ✅ رفع مشکل صفحه `/network/balances`
|
||||
- ✅ رفع مشکل صفحه `/club/members`
|
||||
- ✅ تکمیل Mapster Mappings
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Troubleshooting
|
||||
|
||||
### Build Errors
|
||||
|
||||
**مشکل**: Missing Proto DLLs
|
||||
```bash
|
||||
# راهحل: Rebuild proto dependencies
|
||||
cd BackOffice
|
||||
rm -rf libs/
|
||||
./build-deps.sh
|
||||
```
|
||||
|
||||
**مشکل**: Package Version Conflict
|
||||
```bash
|
||||
# بررسی ورژنها
|
||||
# Google.Protobuf: 3.28.3
|
||||
# Grpc.Core.Api: 2.71.0
|
||||
```
|
||||
|
||||
### Runtime Errors
|
||||
|
||||
**مشکل**: gRPC Connection Failed
|
||||
```
|
||||
# بررسی آدرس BFF در appsettings.json
|
||||
"GwUrl": "https://backoffice-bff.se.kbs1.ir"
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 📚 مستندات مرتبط
|
||||
|
||||
- [Proto Packaging Guide](./02-PROTO-GUIDE.md)
|
||||
- [Data Migration Guide](./03-DATA-MIGRATION.md)
|
||||
- [CMS Documentation](./04-CMS.md)
|
||||
- [Deployment Guide](./05-DEPLOYMENT.md)
|
||||
Reference in New Issue
Block a user