11 KiB
11 KiB
📚 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:
cd /home/masoud/Apps/project/FourSat/BackOffice/src
dotnet build BackOffice.sln
dotnet run --project BackOffice/BackOffice.csproj
Production با DLL های Proto:
# 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:
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
# راهحل: Rebuild proto dependencies
cd BackOffice
rm -rf libs/
./build-deps.sh
مشکل: Package Version Conflict
# بررسی ورژنها
# 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"