Files
docs/overview/OVERVIEW-05-ROADMAP.md
masoodafar-web e3850f9dd8 docs: فاز ۱۱ — فیکس‌های پرداخت ZarinPal + تصحیح تومان/ریال + امنیت Callback URL
- 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
2026-02-27 22:33:35 +03:30

234 lines
9.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🗺️ نقشه راه، ریسک‌ها و کارهای باقیمانده
> **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 (فروردین-خرداد)
```mermaid
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 (تیر-شهریور)
```mermaid
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
```