e3850f9dd8
- CHANGELOG: Phase 11 (11a-11f) — ZarinPal verify fix, تومان/ریال مدل, صفحه موفقیت, حذف ×۱۰ دوبار, callback URL امنیت - BUSINESS-02: تصحیح مدل ارزی (DB=تومان نه ریال), ZarinPal verify fix, جدول callback URL امنیت - TECH-01: اضافه CmsBaseUrl/FrontOfficeBaseUrl به appsettings, توضیح امنیت Open Redirect - TECH-02: اضافه PaymentCallback.razor, وضعیتهای جدید - ROADMAP: بروزرسانی Payment 97→99%, اضافه فاز ۱۱ به DONE list
9.7 KiB
9.7 KiB
🗺️ نقشه راه، ریسکها و کارهای باقیمانده
Roadmap + Risk Register + Dependencies + Priorities
آخرین بروزرسانی: اسفند ۱۴۰۴ (بروزرسانی: فاز ۱۱ — فیکسهای پرداخت ZarinPal + امنیت Callback URL + تومان/ریال)
۱. وضعیت فعلی پروژه
██████████████████████████████████████████████████ 95%
Core Platform ████████████████████████████████████████████████ 98%
Club System ████████████████████████████████████████████████ 98%
E-Commerce ████████████████████████████████████████████████ 98%
Payment ████████████████████████████████████████████████ 99%
Magic Wallet ████████████████████████████████████████████████ 100%
Package-Based ███████████████████████████████████████████████░░ 97%
UI/UX ██████████████████████████████████████████████░░░ 95%
Deployment ██████████████████████████████████████████████░░ 95%
Documentation ████████████████████████████████████████████████ 100%
۲. کارهای باقیمانده (Backlog)
🔴 اولویت بالا (High Priority)
| # | آیتم | حوزه | پیشنیاز | تخمین |
|---|---|---|---|---|
| H1 | Product Bundle | Business | Proto + Handler | ۳ روز |
| H2 | Mobile Responsive (Phase 7) | UI/UX | — | ۵ روز |
| H3 | API Rate Limiting | CMS | — | ۲ روز |
| H4 | Error Boundary (Global) | FO/BO | — | ۱ روز |
🟡 اولویت متوسط (Medium Priority)
| # | آیتم | حوزه | پیشنیاز | تخمین |
|---|---|---|---|---|
| M1 | Manual Payment System | Business | تصمیم مدیریت | ۳ روز |
| M2 | SignalR for Chatika | CMS | — | ۲ روز |
| M3 | Dark Mode | UI/UX | — | ۲ روز |
| M4 | SEO Meta Tags | FO | — | ۲ روز |
| M5 | Order Notifications (SMS) | CMS | — | ۱ روز |
| M6 | BackOffice Dashboard Charts | BO | — | ۳ روز |
🟢 اولویت پایین (Low Priority)
| # | آیتم | حوزه | پیشنیاز | تخمین |
|---|---|---|---|---|
| L1 | PWA Support | FO | Mobile first | ۳ روز |
| L2 | API Versioning | CMS | — | ۲ روز |
| L3 | Monitoring (Prometheus) | Infra | — | ۳ روز |
| L4 | Log Aggregation (Seq/ELK) | Infra | — | ۳ روز |
| L5 | Product Compare | FO | — | ۲ روز |
| L6 | Wishlist | FO | — | ۲ روز |
| L7 | Email Templates (HTML) | CMS | — | ۲ روز |
| L8 | Refund System | CMS/PYMS | — | ۵ روز |
⛔ بلاکشده (Blocked)
| # | آیتم | بلاکر | اقدام لازم |
|---|---|---|---|
| B1 | وام دایا (Production) | API دایا تکمیل نشده | پیگیری تیم دایا |
| B2 | پرداخت دستی | تصمیمگیری مدیریت | جلسه با مدیر محصول |
۳. نقشه راه (Roadmap)
Q1 1404 (فروردین-خرداد)
gantt
title Q1 1404 — فروردین تا خرداد
dateFormat YYYY-MM-DD
section Sprint 1 فروردین
H2 Mobile Responsive :a1, 2025-03-21, 5d
H1 Product Bundle :a2, after a1, 3d
M4 SEO Meta Tags :a3, after a2, 2d
section Sprint 2 اردیبهشت
M1 Manual Payment :b1, 2025-04-21, 3d
M2 SignalR Chatika :b2, after b1, 2d
M6 Dashboard Charts :b3, after b2, 3d
section Sprint 3 خرداد
M3 Dark Mode :c1, 2025-05-22, 2d
H3 Rate Limiting :c2, after c1, 2d
L1 PWA :c3, after c2, 3d
Q2 1404 (تیر-شهریور)
gantt
title Q2 1404 — تیر تا شهریور
dateFormat YYYY-MM-DD
section Sprint 4 تیر
L3 Monitoring :d1, 2025-06-22, 3d
L4 Log Aggregation :d2, after d1, 3d
L2 API Versioning :d3, after d2, 2d
section Sprint 5 مرداد
L5 Product Compare :e1, 2025-07-23, 2d
L6 Wishlist :e2, after e1, 2d
L7 Email Templates :e3, after e2, 2d
section Sprint 6 شهریور
L8 Refund System :f1, 2025-08-23, 5d
Performance Optimization :f2, after f1, 3d
Security Audit :f3, after f2, 3d
۴. ریسکها (Risk Register)
۴.۱ ریسکهای فنی
| # | ریسک | احتمال | تأثیر | شدت | اقدام |
|---|---|---|---|---|---|
| R1 | MSSQL 2022 عدم scalability | Medium | High | 🟡 | مانیتورینگ + index optimization |
| R2 | gRPC breaking changes هنگام ارتقا proto | Low | High | 🟡 | Backward compatible changes |
| R3 | Hangfire job failure (commission) | Low | Critical | 🔴 | Polly retry + alerting + manual trigger |
| R4 | ZarinPal downtime | Medium | High | 🟡 | Fallback queue + manual payment |
| R5 | Ingress-nginx CVE | Low | Critical | 🔴 | Regular updates + WAF |
| R6 | Disk space (SQL backups) | Medium | Medium | 🟡 | Auto cleanup + offsite backup |
۴.۲ ریسکهای بیزینسی
| # | ریسک | احتمال | تأثیر | شدت | اقدام |
|---|---|---|---|---|---|
| R7 | دایا Loan API تغییر | High | Medium | 🟡 | Mock mode + adapter pattern |
| R8 | تغییر درصد تخفیف باشگاه | Low | Low | 🟢 | SystemConstants قابلتنظیم |
| R9 | رشد سریع کاربران (>10K) | Low | High | 🟡 | Load test + horizontal scale |
| R10 | تغییر قوانین مالیاتی | Medium | Medium | 🟡 | VAT configurable |
۵. وابستگیهای خارجی (External Dependencies)
| سرویس | وابستگی | وضعیت | SLA |
|---|---|---|---|
| ZarinPal | درگاه پرداخت IPG | ✅ فعال | 99.5% |
| Kavenegar | ارسال SMS (OTP) | ✅ فعال | 99% |
| Daya Loan | API وام | ⚠️ Mock mode | نامشخص |
| Chatika | AI Chat | ✅ فعال | 95% |
| Docker Hub | Base images | ✅ با mirror | — |
| NuGet.org | .NET packages | ✅ با Nexus cache | — |
| Gitea | Source control | ✅ Self-hosted | 99% |
۶. معیارهای کیفیت (Quality Metrics)
۶.۱ فعلی
| معیار | مقدار فعلی | هدف |
|---|---|---|
| Build Success Rate | ~95% | 99% |
| Average Response Time | ~200ms | <150ms |
| gRPC Error Rate | ~2% | <1% |
| Test Coverage | ~0% | >60% |
| Uptime (Staging) | ~98% | 99% |
| Documentation Coverage | 100% | 100% ✅ |
۶.۲ اقدامات بهبود
| اقدام | اولویت | تأثیر |
|---|---|---|
| Unit Tests اضافه شود | High | Test Coverage +40% |
| Integration Tests | Medium | Reliability +20% |
| Load Testing (k6/JMeter) | Medium | Performance insight |
| Structured Logging (Serilog) | Medium | Debug time -50% |
| Health check endpoints | Done ✅ | Uptime monitoring |
۷. Definition of Done — Release Checklist
Pre-Release (Staging)
- همه تستها پاس شوند
- Review توسط حداقل ۱ نفر
- Migration scripts اجرا شوند
- Smoke test روی staging
- مستندات بروز باشد
Production Release
- Staging sign-off
- Database backup
- Docker images tagged
- K8s rollout
- Health check green
- Post-deploy smoke test
- Rollback plan ready
۸. خلاصه اولویتبندی
DONE (اسفند ۱۴۰۴):
→ Documentation consolidation ✅
→ 🪄 Magic Wallet فاز 1-6 ✅ (کامل)
→ اصلاح VAT 9% → 10% ✅
→ فعالسازی درگاه ZarinPal (پروداکشن) ✅
→ تنظیمات محیطی Staging/Production ✅
→ بهبود UI ادمین (UserAutoComplete + نام کاربر در کیفپول) ✅
→ مرج پروداکشن هر ۳ ریپو (CMS + FO + BO) ✅
→ اجرای Migration روی پروداکشن ✅
→ 📦 تحول پکیجبیس فاز 0-6 ✅ (Domain → Migration → Business → Package → CRUD → Commission per-pkg → Deprecation)
→ 📦 فاز ۹: Q24-Q30 + History + Rename + Interceptor ✅
→ 📦 فاز ۱۰: DataMigration Tool + EF Staging + PackagePurchaseDialog + UI Fixes ✅
→ 💳 فاز ۱۱: فیکس ZarinPal Verify (amount=0) + تصحیح مدل تومان/ریال + صفحه موفقیت پرداخت + حذف دوبار ×۱۰ + امنیت Callback URL ✅
NOW (این ماه):
→ تست کامل پروداکشن
→ فیکس باگهای کشفشده در تست
NEXT (فروردین):
→ Mobile Responsive (H2)
→ Product Bundle (H1)
→ SEO (M4)
LATER (Q2):
→ Monitoring + Logging (L3, L4)
→ PWA (L1)
→ Refund (L8)
BLOCKED:
→ Daya Loan Production (B1) — waiting on Daya
→ Manual Payment (B2) — waiting on decision