Files
docs/99-ARCHIVE/QUICK-START-DEVELOPMENT-OLD.md
T
masoodafar-web 119e870a26 feat: Complete overhaul of FourSat documentation structure and content
- 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
2025-12-04 17:32:31 +03:30

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 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

موفق باشی! 🚀