This commit is contained in:
masoodafar-web
2026-01-03 18:27:49 +03:30
parent 0369292d7f
commit 5965b98728
156 changed files with 16082 additions and 0 deletions
+360
View File
@@ -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)