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:
@@ -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)`
|
||||
|
||||
---
|
||||
|
||||
## ۸. خلاصه وضعیت
|
||||
|
||||
Reference in New Issue
Block a user