Files
docs/final-docs/01-BACKOFFICE.md
T
masoodafar-web 5965b98728 update
2026-01-03 18:27:49 +03:30

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"

📚 مستندات مرتبط