119e870a26
- Added FINAL-STATUS.md detailing project completion and key metrics - Created QUICK-REFERENCE.md for quick access to essential documents - Updated README.md with project overview and quick start guide - Established STRUCTURE.md outlining the final documentation structure - Organized and archived old files, ensuring a clean and efficient directory - Enhanced documentation quality with comprehensive metrics and checklists
354 lines
7.7 KiB
Markdown
354 lines
7.7 KiB
Markdown
# 🚀 Quick Start - شروع سریع توسعه
|
|
|
|
**برای توسعهدهنده جدید یا بازگشت به پروژه**
|
|
|
|
---
|
|
|
|
## 📖 مرحله 1: مطالعه مستندات (30 دقیقه)
|
|
|
|
### الزامی:
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/totalDoc
|
|
|
|
# 1. شروع از INDEX
|
|
cat INDEX.md
|
|
|
|
# 2. درک بیزینس
|
|
cat CMS/network-club-commission-system-v1.1.md
|
|
|
|
# 3. وضعیت فعلی
|
|
cat REMAINING-TASKS.md
|
|
|
|
# 4. مقایسه CMS vs BFF
|
|
cat CMS-API-COVERAGE.md
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 مرحله 2: انتخاب تسک (5 دقیقه)
|
|
|
|
### چکلیست قبل از شروع:
|
|
- [ ] تسک از `REMAINING-TASKS.md` انتخاب شد؟
|
|
- [ ] اولویت مشخص است؟ (🔴 بالا / 🟡 متوسط / 🟢 پایین)
|
|
- [ ] بیزینس در `network-club-commission-system-v1.1.md` مستند است؟
|
|
- [ ] تأثیر روی سرویسهای دیگر مشخص است؟
|
|
|
|
### تسک فعلی (هفته 1):
|
|
```
|
|
🔴 Transaction System (درگاه پرداخت)
|
|
├─ CMS: 3 روز
|
|
├─ BackOffice.BFF: 2 روز
|
|
└─ BackOffice UI: 2 روز
|
|
```
|
|
|
|
---
|
|
|
|
## 💻 مرحله 3: Setup محیط توسعه
|
|
|
|
### CMS
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/CMS/src
|
|
|
|
# Build
|
|
dotnet build
|
|
|
|
# Run (با Hangfire Dashboard)
|
|
cd CMSMicroservice.WebApi
|
|
dotnet run --urls="http://localhost:5133"
|
|
|
|
# Check Health
|
|
curl http://localhost:5133/health
|
|
|
|
# Hangfire Dashboard
|
|
# http://localhost:5133/hangfire
|
|
```
|
|
|
|
### BackOffice.BFF
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/BackOffice.BFF/src
|
|
|
|
# Build
|
|
dotnet build
|
|
|
|
# Run
|
|
cd BackOffice.BFF.WebApi
|
|
dotnet run --urls="http://localhost:5000"
|
|
|
|
# Check
|
|
curl http://localhost:5000/health
|
|
```
|
|
|
|
### BackOffice (UI)
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/BackOffice/src
|
|
|
|
# Build
|
|
dotnet build
|
|
|
|
# Run
|
|
cd BackOffice
|
|
dotnet run
|
|
|
|
# Browser: http://localhost:5001
|
|
```
|
|
|
|
---
|
|
|
|
## 📝 مرحله 4: پیادهسازی (به ترتیب)
|
|
|
|
### 1️⃣ CMS (Backend)
|
|
|
|
#### الف. Entity & Migration
|
|
```bash
|
|
cd CMS/src/CMSMicroservice.Domain/Entities
|
|
|
|
# 1. ایجاد Entity
|
|
# مثال: Transaction.cs
|
|
|
|
# 2. اضافه کردن به DbContext
|
|
cd ../CMSMicroservice.Infrastructure/Data
|
|
|
|
# 3. ایجاد Migration
|
|
dotnet ef migrations add AddTransaction -s ../../CMSMicroservice.WebApi
|
|
|
|
# 4. اعمال Migration
|
|
dotnet ef database update -s ../../CMSMicroservice.WebApi
|
|
```
|
|
|
|
#### ب. Commands & Queries
|
|
```bash
|
|
cd CMS/src/CMSMicroservice.Application
|
|
|
|
# ساختار:
|
|
TransactionCQ/
|
|
├── CreateTransactionCommand.cs
|
|
├── CreateTransactionCommandHandler.cs
|
|
├── GetTransactionQuery.cs
|
|
└── GetTransactionQueryHandler.cs
|
|
```
|
|
|
|
#### ج. Protobuf
|
|
```bash
|
|
cd CMS/src/CMSMicroservice.Protobuf/Protos
|
|
|
|
# 1. ویرایش transactions.proto
|
|
# 2. Build پروژه (auto-generate C# code)
|
|
dotnet build
|
|
```
|
|
|
|
#### د. gRPC Service
|
|
```bash
|
|
cd CMS/src/CMSMicroservice.WebApi/GrpcServices
|
|
|
|
# ایجاد TransactionGrpcService.cs
|
|
```
|
|
|
|
#### ✅ داکیومنت CMS
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/totalDoc
|
|
|
|
# بهروزرسانی:
|
|
# - CMS/implementation-progress.md
|
|
# - REMAINING-TASKS.md (mark as done)
|
|
```
|
|
|
|
---
|
|
|
|
### 2️⃣ BackOffice.BFF (Gateway)
|
|
|
|
#### الف. Handler
|
|
```bash
|
|
cd BackOffice.BFF/src/BackOffice.BFF.Application/Handlers
|
|
|
|
# ساختار:
|
|
TransactionHandlers/
|
|
├── CreateTransactionHandler.cs
|
|
├── GetTransactionHandler.cs
|
|
└── GetAllTransactionsHandler.cs
|
|
```
|
|
|
|
#### ب. DTOs
|
|
```bash
|
|
cd BackOffice.BFF/src/BackOffice.BFF.Application/DTOs
|
|
|
|
# TransactionDto.cs
|
|
```
|
|
|
|
#### ج. Controller
|
|
```bash
|
|
cd BackOffice.BFF/src/BackOffice.BFF.WebApi/Controllers
|
|
|
|
# TransactionController.cs
|
|
[ApiController]
|
|
[Route("api/transactions")]
|
|
```
|
|
|
|
#### ✅ داکیومنت BFF
|
|
```bash
|
|
# بهروزرسانی:
|
|
# - BackOffice.BFF/cms-integration.md
|
|
```
|
|
|
|
---
|
|
|
|
### 3️⃣ BackOffice (Admin UI)
|
|
|
|
#### الف. صفحه جدید
|
|
```bash
|
|
cd BackOffice/src/BackOffice/Pages
|
|
|
|
# Transactions/
|
|
# ├── Index.razor (لیست)
|
|
# ├── Details.razor (جزئیات)
|
|
# └── Transactions.razor.cs (Code-behind)
|
|
```
|
|
|
|
#### ب. Service
|
|
```bash
|
|
cd BackOffice/src/BackOffice/Services
|
|
|
|
# TransactionService.cs
|
|
```
|
|
|
|
#### ج. Menu Item
|
|
```bash
|
|
# اضافه کردن به Shared/NavMenu.razor
|
|
```
|
|
|
|
#### ✅ داکیومنت UI
|
|
```bash
|
|
# بهروزرسانی:
|
|
# - BackOffice/development-plan.md
|
|
```
|
|
|
|
---
|
|
|
|
## 🧪 مرحله 5: تست
|
|
|
|
### تست دستی:
|
|
```bash
|
|
# 1. CMS: Postman/gRPCurl
|
|
grpcurl -plaintext localhost:5133 list
|
|
|
|
# 2. BFF: Swagger
|
|
# http://localhost:5000/swagger
|
|
|
|
# 3. UI: Browser
|
|
# http://localhost:5001
|
|
```
|
|
|
|
### چکلیست تست:
|
|
- [ ] API در CMS کار میکند؟
|
|
- [ ] Handler در BFF صحیح است؟
|
|
- [ ] صفحه در UI نمایش داده میشود؟
|
|
- [ ] سطوح دسترسی (SuperAdmin/Admin/Inspector) صحیح است؟
|
|
- [ ] Error handling درست است؟
|
|
|
|
---
|
|
|
|
## 📋 مرحله 6: مقایسه با بیزینس
|
|
|
|
### چکلیست بیزینس:
|
|
```bash
|
|
cd /home/masoud/Apps/project/FourSat/totalDoc
|
|
|
|
# 1. باز کردن تمپلیت
|
|
cp BUSINESS-VERIFICATION-TEMPLATE.md BUSINESS-CHECK-$(date +%Y-%m-%d).md
|
|
|
|
# 2. پر کردن بخش مربوط به Transaction
|
|
# 3. مقایسه کد با داکیومنت
|
|
|
|
# مثال:
|
|
# - آیا Transaction.Status درست است؟
|
|
# - آیا ReferenceId ذخیره میشود؟
|
|
# - آیا Gateway name صحیح است؟
|
|
```
|
|
|
|
---
|
|
|
|
## 💾 مرحله 7: Commit & Document
|
|
|
|
### قبل از Commit:
|
|
```bash
|
|
# 1. مقایسه با داکیومنت
|
|
cat totalDoc/CMS/network-club-commission-system-v1.1.md
|
|
|
|
# 2. بهروزرسانی داکیومنت
|
|
vim totalDoc/CMS/implementation-progress.md
|
|
|
|
# 3. Mark تسک as Done
|
|
vim totalDoc/REMAINING-TASKS.md
|
|
```
|
|
|
|
### Commit Message:
|
|
```bash
|
|
git add .
|
|
git commit -m "feat(CMS): Add Transaction System for payment gateway
|
|
|
|
- Add Transaction entity with Status/ReferenceId/Gateway
|
|
- Implement CreateTransaction, VerifyTransaction commands
|
|
- Add GetTransaction, GetAllTransactions queries
|
|
- Update Protobuf: transactions.proto
|
|
- Docs: CMS/implementation-progress.md updated
|
|
|
|
Business: Payment gateway integration
|
|
Impact: BackOffice.BFF needs TransactionHandler (next)
|
|
"
|
|
```
|
|
|
|
---
|
|
|
|
## 🔄 مرحله 8: تکرار برای BFF و UI
|
|
|
|
همین مراحل رو برای BackOffice.BFF و BackOffice UI تکرار کن.
|
|
|
|
---
|
|
|
|
## 📚 مراجع سریع
|
|
|
|
### مستندات:
|
|
- `INDEX.md` → فهرست کامل
|
|
- `REMAINING-TASKS.md` → تسکهای باقیمانده
|
|
- `CMS-API-COVERAGE.md` → مقایسه CMS vs BFF
|
|
- `BUSINESS-VERIFICATION-TEMPLATE.md` → چکلیست بیزینس
|
|
|
|
### بیزینس:
|
|
- `CMS/network-club-commission-system-v1.1.md` → بیزینس اصلی
|
|
- `CMS/balance-calculation-carryover-logic.md` → محاسبات
|
|
- `CMS/email-sms-configuration-guide.md` → اطلاعرسانی
|
|
|
|
### پیشرفت:
|
|
- `CMS/implementation-progress.md` → وضعیت CMS
|
|
- `BackOffice/development-plan.md` → وضعیت BackOffice
|
|
|
|
---
|
|
|
|
## ⚠️ نکات مهم
|
|
|
|
### 🚫 اشتباهات رایج:
|
|
- ❌ شروع بدون مطالعه بیزینس
|
|
- ❌ فراموش کردن داکیومنت
|
|
- ❌ نادیده گرفتن سطوح دسترسی
|
|
- ❌ تست نکردن قبل از commit
|
|
|
|
### ✅ بهترین روشها:
|
|
- ✅ اول CMS، بعد BFF، بعد UI
|
|
- ✅ هر تسک = یک commit با داکیومنت
|
|
- ✅ هر هفته = مقایسه کد با بیزینس
|
|
- ✅ هر ماه = BUSINESS-VERIFICATION
|
|
|
|
---
|
|
|
|
## 🆘 مشکل داری؟
|
|
|
|
### چکلیست عیبیابی:
|
|
1. آیا CMS در حال اجراست؟ → `curl http://localhost:5133/health`
|
|
2. آیا BFF متصل به CMS است؟ → چک logs
|
|
3. آیا Migration اعمال شده؟ → `dotnet ef database update`
|
|
4. آیا Protobuf build شده؟ → `dotnet build`
|
|
5. آیا بیزینس درست است؟ → مراجعه به `network-club-commission-system-v1.1.md`
|
|
|
|
---
|
|
|
|
**موفق باشی! 🚀**
|