# 📌 مشخصات فنی سایت - دیماه 1404

## ۱) Frontend (کاربر) و پنل ادمین

### Frontend (کاربر)

- فریم‌ورک: Next.js 15 (App Router) + React 19 + TypeScript 5
- UI/UX: Tailwind CSS + shadcn/ui (RTL کامل) + Vazirmatn
- State/Data: TanStack Query (cache/retry/prefetch)
- فرم‌ها: React Hook Form + Zod (ولیدیشن سمت کلاینت/سرور)
- SEO: SSR/SSG/ISR، next‑seo، JSON‑LD، Sitemap/Robots/Canonical، OG داینامیک (next/og)
- PWA: Service Worker + manifest، Prefetch/Preload، بودجهٔ CWV (LCP/INP)
- رسانه: next/image با AVIF/WebP + LQIP، Player HLS برای صوت/ویدیو
- اشتراک/QR: Web Share API + تولید QR برای لینک/پیام/صوت
- آنالیتیکس: CTR توصیه، Add‑to‑Cart، Conversion → API تله‌متری

### پنل ادمین (اپ جدا)

- Next.js 15 + shadcn/ui (RTL)، Layout واکنشگرا + RBAC
- داشبورد KPI، مدیریت سفارش‌ها (New→Recommended→InCart→Paid→Packed→Shipped→Delivered→Returned)
- کاتالوگ/باندل/قیمت/موجودی، مدیریت رسانه، کمپین اعلان (Email/SMS/WhatsApp)
- کاربران/آدرس/دوستان/یادآوری، گزارش‌ها (پاراتو/CLV/قیف/محبوب/پرفروش/موجودی)
- تنظیمات AI (پرامپت/AB تست)، لاگ‌ها، 2FA اختیاری، CSRF فعال فقط در پنل

## ۲) Backend (اپلیکیشن اصلی)

- پشته: NestJS 10+ (Node.js 20 LTS) + TypeScript — معماری مونولیت ماژولار
- ORM/DB: Prisma + PostgreSQL 15/16 (pgvector/GIN/Trigram)
- کش/صف: Redis 7 + BullMQ v4 (backoff, DLQ, rate)
- API: REST (اصلی)، GraphQL فقط Query (اختیاری)
- پرداخت: زرین‌پال با HMAC + Idempotency + ضد‑replay
- اعلان‌ها: SMTP/SMS/WhatsApp ماژولار + Retry در صف، قالب‌ها Handlebars
- رسانه: S3‑compatible + CDN، Sharp (AVIF/WebP)، FFmpeg (HLS/mp4) در Workerها

## 3) امنیت و سیاست‌ها

- Headers: CSP سخت‌گیرانه، HSTS، X‑Frame‑Options، X‑Content‑Type‑Options، Referrer‑Policy
- Auth: Email+Password/OTP، JWT+Refresh (کاربر)، Signed Cookies + CSRF فقط پنل، 2FA اختیاری
- Rate‑limit: چندبعدی (IP+User+Route)، CORS دقیق، Audit Log دامنه‌ای، Key Rotation
- Webhook: HMAC + timestamp/replay‑protection + (اختیاری) IP allow‑list
- Privacy/Retention: زمان نگهداری لاگ/چت/رویدادها؛ صفحات Privacy/Terms/Refund
- Staging/Dev: noindex اجباری + جلوگیری از اعلان/پرداخت واقعی

## 4) رسانه و CDN

- Upload: Signed URL، محدودیت MIME/حجم، اسکن بدافزار اختیاری
- تصویر: Sharp → AVIF/WebP + چند سایز cover/card/thumb + strip metadata + کیفیت تطبیقی
- صوت/ویدیو: FFmpeg → HLS/mp4 + thumbnail/poster + bitrate ladder
- CDN: Cache‑Control دقیق، نسخه‌گذاری فایل‌ها، purge خودکار روی تغییر قیمت/کاور/موجودی

## 5) سئو و مارکتینگ

- SSR/ISR، next‑seo، JSON‑LD (Product/Organization)، Sitemap/Robots/Canonical، hreflang fa‑IR
- OG Image داینامیک برای صفحات باندل
- ذخیرهٔ UTM/referral (ارجاع با شماره) در رویدادها/سفارش‌ها