docs: convert all ASCII charts to Mermaid diagrams

Converted 40+ ASCII art diagrams across 12 files to Mermaid:
- flowchart TD/LR for process flows and architecture
- erDiagram for entity relationships
- graph TD for tree structures (binary tree, categories)
- gantt for roadmap sprints

Files: BUSINESS-01 to 05, TECH-01/03/04/05, OVERVIEW-01/02/05
Directory tree structures kept as plain code blocks (Mermaid N/A)
This commit is contained in:
masoodafar-web
2026-02-18 23:36:39 +03:30
parent aef6861e21
commit 1b04ba5326
12 changed files with 544 additions and 739 deletions
+59 -66
View File
@@ -7,21 +7,31 @@
## ۱. دو فروشگاه FourSat
```
┌─────────────────────────────────────────────────────────┐
│ FourSat Stores │
├───────────────────────┬─────────────────────────────────┤
│ Regular Store │ Discount Store │
│ (/store) │ (/discount-store) │
├───────────────────────┼─────────────────────────────────┤
│ • همه کاربران │ • فقط اعضای باشگاه │
│ • پرداخت 100% نقدی │ • پرداخت ترکیبی (تخفیف+نقد) │
│ • قیمت عادی │ • تخفیف بر اساس MaxDiscountPercent │
│ • VAT = 10% │ • VAT = 9% (در کد PlaceOrder) │
├───────────────────────┴─────────────────────────────────┤
│ Shared: Products, Categories, │
│ Inventory, ProductImages (1:1 square) │
└─────────────────────────────────────────────────────────┘
```mermaid
flowchart LR
subgraph RS["Regular Store — /store"]
R1["همه کاربران"]
R2["پرداخت 100% نقدی"]
R3["قیمت عادی"]
R4["VAT = 10%"]
end
subgraph DS["Discount Store — /discount-store"]
D1["فقط اعضای باشگاه"]
D2["پرداخت ترکیبی تخفیف+نقد"]
D3["تخفیف بر اساس MaxDiscountPercent"]
D4["VAT = 9%"]
end
subgraph SHARED["مشترک"]
S1["Products"]
S2["Categories"]
S3["Inventory"]
S4["ProductImages 1:1"]
end
RS --> SHARED
DS --> SHARED
```
---
@@ -50,23 +60,14 @@ public async Task<ProductListResult> GetProductsPagedAsync(
### ۲.۲ پیاده‌سازی UI (هر دو فروشگاه)
```
بارگذاری اولیه: 12 محصول
اسکرول → نمایش دکمه "نمایش محصولات بیشتر"
کلیک → LoadMore() → skip += 12
محصولات جدید اضافه به لیست (append)
تکرار تا Products.Count >= TotalCount
مخفی‌شدن دکمه
```mermaid
flowchart TD
A["بارگذاری اولیه: 12 محصول"] --> B["اسکرول → نمایش دکمه\nنمایش محصولات بیشتر"]
B --> C["کلیک → LoadMore\nskip += 12"]
C --> D["محصولات جدید append به لیست"]
D --> E{"Products.Count >= TotalCount?"}
E -->|خیر| B
E -->|بله| F["مخفی‌شدن دکمه"]
```
---
@@ -100,17 +101,14 @@ public int MaxDiscountPercent { get; set; } // 0 تا 100 — درصد تخفی
### ۳.۳ فلوی سفارش و موجودی
```
سفارش جدید
بررسی Quantity - ReservedQuantity >= OrderQuantity?
├─→ بله: ReservedQuantity += OrderQuantity
│ پرداخت موفق → Quantity -= OrderQuantity, Reserved -= OrderQuantity
│ پرداخت ناموفق → Reserved -= OrderQuantity (آزادسازی)
└─→ خیر: نمایش "موجودی کافی نیست"
```mermaid
flowchart TD
A["سفارش جدید"] --> B{"Quantity - Reserved >= OrderQty?"}
B -->|بله| C["Reserved += OrderQty"]
C --> D{"پرداخت موفق؟"}
D -->|موفق| E["✅ Quantity -= OrderQty\nReserved -= OrderQty"]
D -->|ناموفق| F["❌ Reserved -= OrderQty\nآزادسازی"]
B -->|خیر| G["نمایش: موجودی کافی نیست"]
```
---
@@ -159,17 +157,11 @@ public class BundleItem {
### ۵.۲ فلو
```
ادمین → ساخت باندل → انتخاب محصولات + تعیین قیمت
نمایش در فروشگاه با تگ "باندل"
خرید → تمام محصولات باندل یکجا به سبد
پرداخت → کسر موجودی هر محصول جداگانه
```mermaid
flowchart TD
A["ادمین → ساخت باندل\nانتخاب محصولات + تعیین قیمت"] --> B["نمایش در فروشگاه\nبا تگ باندل"]
B --> C["خرید → تمام محصولات\nیکجا به سبد"]
C --> D["پرداخت → کسر موجودی\nهر محصول جداگانه"]
```
---
@@ -207,21 +199,22 @@ public class BundleItem {
## ۷. دسته‌بندی‌ها (Categories)
```
درختی / سلسله‌مراتبی
├── سلامت و زیبایی
│ ├── مکمل‌ها
│ ├── مراقبت پوست
│ └── مراقبت مو
├── تغذیه
│ ├── ارگانیک
│ └── رژیمی
└── ورزشی
```mermaid
graph TD
ROOT["دسته‌بندی‌ها"] --> A["سلامت و زیبایی"]
ROOT --> B["تغذیه"]
ROOT --> C["ورزشی"]
مدل: Category (Id, Name, ParentId?, ImageUrl, IsActive, SortOrder)
A --> A1["مکمل‌ها"]
A --> A2["مراقبت پوست"]
A --> A3["مراقبت مو"]
B --> B1["ارگانیک"]
B --> B2["رژیمی"]
```
> مدل: `Category (Id, Name, ParentId?, ImageUrl, IsActive, SortOrder)`
---
## ۸. خلاصه وضعیت