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
7.7 KiB
7.7 KiB
🚀 Quick Start - شروع سریع توسعه
برای توسعهدهنده جدید یا بازگشت به پروژه
📖 مرحله 1: مطالعه مستندات (30 دقیقه)
الزامی:
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
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
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)
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
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
cd CMS/src/CMSMicroservice.Application
# ساختار:
TransactionCQ/
├── CreateTransactionCommand.cs
├── CreateTransactionCommandHandler.cs
├── GetTransactionQuery.cs
└── GetTransactionQueryHandler.cs
ج. Protobuf
cd CMS/src/CMSMicroservice.Protobuf/Protos
# 1. ویرایش transactions.proto
# 2. Build پروژه (auto-generate C# code)
dotnet build
د. gRPC Service
cd CMS/src/CMSMicroservice.WebApi/GrpcServices
# ایجاد TransactionGrpcService.cs
✅ داکیومنت CMS
cd /home/masoud/Apps/project/FourSat/totalDoc
# بهروزرسانی:
# - CMS/implementation-progress.md
# - REMAINING-TASKS.md (mark as done)
2️⃣ BackOffice.BFF (Gateway)
الف. Handler
cd BackOffice.BFF/src/BackOffice.BFF.Application/Handlers
# ساختار:
TransactionHandlers/
├── CreateTransactionHandler.cs
├── GetTransactionHandler.cs
└── GetAllTransactionsHandler.cs
ب. DTOs
cd BackOffice.BFF/src/BackOffice.BFF.Application/DTOs
# TransactionDto.cs
ج. Controller
cd BackOffice.BFF/src/BackOffice.BFF.WebApi/Controllers
# TransactionController.cs
[ApiController]
[Route("api/transactions")]
✅ داکیومنت BFF
# بهروزرسانی:
# - BackOffice.BFF/cms-integration.md
3️⃣ BackOffice (Admin UI)
الف. صفحه جدید
cd BackOffice/src/BackOffice/Pages
# Transactions/
# ├── Index.razor (لیست)
# ├── Details.razor (جزئیات)
# └── Transactions.razor.cs (Code-behind)
ب. Service
cd BackOffice/src/BackOffice/Services
# TransactionService.cs
ج. Menu Item
# اضافه کردن به Shared/NavMenu.razor
✅ داکیومنت UI
# بهروزرسانی:
# - BackOffice/development-plan.md
🧪 مرحله 5: تست
تست دستی:
# 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: مقایسه با بیزینس
چکلیست بیزینس:
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:
# 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:
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 BFFBUSINESS-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→ وضعیت CMSBackOffice/development-plan.md→ وضعیت BackOffice
⚠️ نکات مهم
🚫 اشتباهات رایج:
- ❌ شروع بدون مطالعه بیزینس
- ❌ فراموش کردن داکیومنت
- ❌ نادیده گرفتن سطوح دسترسی
- ❌ تست نکردن قبل از commit
✅ بهترین روشها:
- ✅ اول CMS، بعد BFF، بعد UI
- ✅ هر تسک = یک commit با داکیومنت
- ✅ هر هفته = مقایسه کد با بیزینس
- ✅ هر ماه = BUSINESS-VERIFICATION
🆘 مشکل داری؟
چکلیست عیبیابی:
- آیا CMS در حال اجراست؟ →
curl http://localhost:5133/health - آیا BFF متصل به CMS است؟ → چک logs
- آیا Migration اعمال شده؟ →
dotnet ef database update - آیا Protobuf build شده؟ →
dotnet build - آیا بیزینس درست است؟ → مراجعه به
network-club-commission-system-v1.1.md
موفق باشی! 🚀