# 🚀 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` --- **موفق باشی! 🚀**