🚀 نقشه راه MVP
وب‌سایت + پنل کاربری دکتر الهه رشیدبیگی

لانچ سریع در 6 هفته | ثبت‌نام 30 ثانیه‌ای با OTP | 3 ابزار کلیدی | رزرو آنلاین | پرداخت امن | بلاگ SEO-محور

⚡ لانچ: 6 هفته 🎯 MVP-First 💰 هزینه پایین 📈 SEO-Ready
6
هفته تا لانچ
30
ثانیه ثبت‌نام
3
ابزار کلیدی
10
مقاله اولیه

🏗️ معماری Separation of Concerns

تفکیک واضح: WordPress برای محتوا، Next.js برای اپلیکیشن

🌐 www.domain

Marketing + Blog

WordPress

Gutenberg Yoast SEO Arvan S3 Cache

انتشار روزانه محتوا، بلاگ SEO-محور، صفحات لندینگ

⚡ app.domain

Panel + Dashboard

Next.js 14

TypeScript Tailwind Prisma MySQL

ثبت‌نام OTP، داشبورد، ابزارها، رزرو، پرداخت

🚀 زیرساخت

Hosting & CDN

Liara + Arvan

Liara Arvan CDN S3 Storage SSL

استقرار، CDN، ذخیره‌سازی، امنیت

🔗 ارتباط بین دو سیستم

  • لینک‌دهی ساده: CTA‌ها از WordPress به app.domain
  • ابزارهای Embed: BMI/TDEE/Macro به صورت iframe در صفحات WordPress
  • داده مشترک: فعلاً بدون اتصال DB؛ کاربر با OTP از app وارد می‌شود
  • SEO: هر دامنه Sitemap جداگانه + robots.txt مناسب

📅 نقشه راه 6 هفته‌ای

از شروع تا لانچ نهایی

وظیفه
هفته 1
هفته 2
هفته 3
هفته 4
هفته 5
هفته 6
🎨 طراحی UI/UX + وایرفریم
هفته 1
🌐 راه‌اندازی WordPress
هفته 1
⚙️ راه‌اندازی Next.js + DB
هفته 1
🔐 سیستم OTP + NextAuth
هفته 1-2
🧮 ابزارهای BMI/TDEE/Macro
هفته 2
📊 داشبورد کاربری
هفته 2-3
📅 سیستم رزرو ساده
هفته 3
💳 پرداخت زرین‌پال
هفته 3
📝 صفحات WordPress
هفته 4
✍️ انتشار 10 مقاله بلاگ
هفته 4
🔗 Embed ابزارها در WP
هفته 4
⚡ بهینه‌سازی سرعت
هفته 5
🔒 امنیت + WAF
هفته 5
📈 GA4 + Clarity
هفته 5
🧪 تست پذیرش + QA
هفته 5-6
🚀 لانچ + مانیتورینگ
هفته 6
1
هفته اول

🎨 طراحی + زیرساخت پایه

  • طراحی وایرفریم و دیزاین سیستم (Figma)
  • راه‌اندازی WordPress + قالب سبک + Yoast SEO + S3
  • راه‌اندازی Next.js 14 + TypeScript + Tailwind
  • راه‌اندازی MySQL (Liara) + Prisma
Figma WordPress Next.js Prisma
2
هفته دوم

🔐 احراز هویت + ابزارهای محاسباتی

  • پیاده‌سازی OTP با Kavenegar + NextAuth
  • توسعه ابزارهای BMI/TDEE/Macro (لاجیک محاسبات)
  • طراحی اولیه داشبورد کاربری
  • تست احراز هویت و امنیت OTP
OTP NextAuth Calculators Dashboard
3
هفته سوم

📊 داشبورد + رزرو + پرداخت

  • پیاده‌سازی کامل داشبورد کاربری
  • خوش‌آمدگویی شخصی + نمودار پیشرفت (Line Chart)
  • چک‌لیست روزانه (3 آیتم) + Badge‌های ساده
  • سیستم رزرو: تعریف اسلات + رزرو + وضعیت‌ها
  • پیاده‌سازی پرداخت زرین‌پال (Create/Verify + Idempotency)
Dashboard Chart.js Booking Zarinpal Gamification
4
هفته چهارم

📝 محتوا + SEO + Integration

  • ساخت صفحات WordPress: Home, Landing کاهش وزن, Cooltech, درباره/تماس
  • نوشتن و انتشار 10 مقاله بلاگ (7 کاهش وزن + 3 مکمل)
  • بهینه‌سازی SEO داخلی (Yoast, Schema, Alt, لینک‌دهی)
  • Embed ابزارها در WordPress (iframe به app.domain)
Content SEO Blog Embed
5
هفته پنجم

⚡ بهینه‌سازی + امنیت + آنالیتیکس

  • بهینه‌سازی سرعت (Cache, Image Optimization, CDN)
  • پیاده‌سازی امنیت: Rate Limiting, CSRF, WAF آروان
  • سخت‌سازی WordPress (XML-RPC, Login Limit, IP Whitelist)
  • نصب و پیکربندی GA4 + Microsoft Clarity
  • شروع تست‌های پذیرش (Acceptance Testing)
Optimization Security Analytics Testing
6
هفته ششم

🚀 تست نهایی + لانچ + مانیتورینگ

  • تست پذیرش کامل (Acceptance Criteria)
  • تست Backup/Restore
  • تست پرداخت و رزرو End-to-End
  • رفع باگ‌های نهایی و بهبود UX
  • 🚀 لانچ نهایی
  • راه‌اندازی مانیتورینگ (UptimeRobot + Sentry)
  • مانیتورینگ 7 روزه و رفع مشکلات احتمالی
Testing QA Launch Monitoring
✅ Go-Live پایان هفته 6

🎯 دامنه دقیق MVP

🌐

صفحات وب‌سایت (WordPress)

  • صفحه اصلی (Home) با Hero قوی
  • لندینگ کاهش وزن
  • صفحه دستگاه‌های Cooltech
  • بلاگ (10 مقاله اولیه)
  • درباره ما / تماس با ما
  • صفحه سوالات متداول (FAQ)

پنل کاربری (Next.js)

  • ثبت‌نام/ورود با OTP (30 ثانیه)
  • داشبورد شخصی + خوش‌آمدگویی
  • 3 ابزار: BMI, TDEE, Macro
  • چک‌لیست روزانه + نمودار پیشرفت
  • رزرو آنلاین ساده
  • پرداخت یک پلن (زرین‌پال)
🧮
BMI Calculator
🔥
TDEE Calculator
🥗
Macro Planner
📊
Progress Chart
Daily Checklist
🏆
Gamification
📅
Booking System
💳
Payment Gateway

👤 مسیر کاربر: از ورود تا ارزش

طراحی‌شده برای ایجاد ارزش فوری و انگیزه بازگشت

1

🌐 ورود به وب‌سایت

کاربر از طریق جستجوی گوگل یا شبکه‌های اجتماعی وارد www.domain می‌شود و مقاله بلاگ یا صفحه کاهش وزن را مطالعه می‌کند. یا همان جا از ابزار BMI استفاده می‌کند.

2

🎯 کلیک روی CTA

پس از دریافت ارزش اولیه (مطالعه یا استفاده از ابزار)، روی دکمه «شروع کنید» کلیک می‌کند و به app.domain هدایت می‌شود.

3

🔐 ثبت‌نام 30 ثانیه‌ای

شماره موبایل وارد می‌کند → کد OTP دریافت می‌کند → کد را وارد می‌کند → بلافاصله وارد داشبورد می‌شود (بدون ایمیل، بدون رمزعبور پیچیده).

4

📊 ورود به داشبورد

خوش‌آمدگویی شخصی با نام + پیشنهاد تکمیل قد/وزن. دسترسی فوری به BMI/TDEE/Macro. نمودار پیشرفت (در ابتدا خالی). چک‌لیست روزانه با 3 مورد ساده. پیشنهاد رزرو مشاوره.

5

🔄 انگیزه بازگشت

ذخیره خودکار نتایج ابزارها. محتوای جدید روزانه در بلاگ. نمایش Badge پس از اولین ثبت وزن یا اولین رزرو. چک‌لیست‌های روزانه برای ایجاد عادت.

💡 نکات کلیدی طراحی تجربه کاربر

  • ارزش فوری: کاربر حتی قبل از ثبت‌نام می‌تواند از ابزارهای embed استفاده کند
  • اصطکاک کم: ثبت‌نام فقط با موبایل و کد، بدون فیلدهای اضافی
  • شخصی‌سازی تدریجی: اطلاعات تکمیلی (قد/وزن/سن) بعد از ورود به صورت پیشنهادی
  • Gamification سبک: Badge‌ها و امتیازات برای ایجاد انگیزه، بدون پیچیدگی
  • مسیر تبدیل واضح: از خواندن مقاله → استفاده از ابزار → ثبت‌نام → رزرو مشاوره

💻 استک تکنولوژی

⚛️

Frontend (App)

  • Next.js 14 (App Router)
  • TypeScript
  • Tailwind CSS
  • shadcn/ui
  • React Hook Form
  • Zod (Validation)
  • TanStack Query
🗄️

Backend

  • Next.js API Routes
  • Prisma ORM
  • MySQL (Liara)
  • NextAuth (Credentials)
  • Kavenegar SMS
  • Zarinpal SDK
🌐

WordPress

  • WordPress 6.x
  • Gutenberg (Block Editor)
  • Yoast SEO
  • Arvan S3 Plugin
  • Cache Plugin
  • Security Hardening
🚀

DevOps

  • Liara (Hosting)
  • Arvan CDN
  • GitHub + Actions
  • Prisma Studio
  • UptimeRobot
  • Sentry
📊

Analytics

  • Google Analytics 4
  • Microsoft Clarity
  • Search Console
  • Sentry (Errors)
🔧

Tools

  • Figma (Design)
  • VS Code
  • Postman/Insomnia
  • Chrome DevTools

🗄️ مدل دیتابیس (Prisma Schema خلاصه)

model User {
id String @id @default(cuid())
phone String @unique
name String?
gender String? // 'male' | 'female' | null
birthDate DateTime?
heightCm Int?
activity String? // سطح فعالیت
createdAt DateTime @default(now())
}

model OtpCode {
id String @id @default(cuid())
phone String
codeHash String // هش‌شده
expiresAt DateTime
attempts Int @default(0)
createdAt DateTime @default(now())
}

model Measurement {
id String @id @default(cuid())
userId String
date DateTime @default(now())
weightKg Decimal
bodyFat Decimal?
note String?
}

model MacroPlan {
id String @id @default(cuid())
userId String
goal String // 'loss' | 'maintain' | 'gain'
tdee Int
calories Int
proteinG Int
carbsG Int
fatG Int
}

model Booking {
id String @id @default(cuid())
userId String
slotStart DateTime
status String // 'PENDING' | 'CONFIRMED' | 'CANCELED'
notes String?
}

model Payment {
id String @id @default(cuid())
userId String
amount Int
authority String
refId String?
status String // 'PENDING' | 'SUCCESS' | 'FAILED'
idempotencyKey String @unique
}

model Reward {
id String @id @default(cuid())
userId String
type String // 'FIRST_LOG', 'WEEK_STREAK', ...
createdAt DateTime @default(now())
}
text

🔌 API Endpoints کلیدی

🔐 Auth

  • POST /api/auth/request-otp
  • POST /api/auth/verify-otp

👤 Profile

  • GET /api/profile
  • PUT /api/profile

📊 Measurements

  • GET /api/measurements
  • POST /api/measurements

🧮 Tools

  • POST /api/macro/calc
  • POST /api/macro/save

📅 Booking

  • GET /api/booking/slots
  • POST /api/booking

💳 Payment

  • POST /api/payment/create
  • GET /api/payment/verify
  • POST /api/payment/webhook

🔒 امنیت و حریم خصوصی

🛡️

امنیت OTP

  • Rate Limit: 3 درخواست/10 دقیقه
  • ذخیره OTP به‌صورت Hash
  • انقضا 3 دقیقه
  • محدودیت تلاش (3 بار)
  • لاگ تمام درخواست‌ها
🔐

امنیت Session

  • HttpOnly Cookie
  • SameSite=Lax
  • Secure (HTTPS)
  • CSRF Token
  • Session Timeout
🔥

WordPress Security

  • محدودیت /wp-admin به IP
  • غیرفعال‌سازی XML-RPC
  • WAF آروان
  • Login Attempt Limit
  • Auto-Update Security Patches

Validation & Backup

  • اعتبارسنجی با Zod
  • Sanitization ورودی‌ها
  • بکاپ روزانه (30 روز)
  • تست Restore ماهانه
  • Encryption در انتقال و ذخیره

💰 هزینه‌های ماهانه تقریبی

سرویس شرح هزینه تقریبی (تومان)
Liara Next.js Server + WordPress Managed 2,000,000 - 4,000,000
Arvan CDN CDN + SSL + WAF 300,000 - 800,000
Arvan S3 Object Storage برای Media 200,000 - 700,000
Kavenegar SMS (OTP + Notifications) 200,000 - 600,000
Domain + SSL دامنه .ir + SSL رایگان 100,000
Zarinpal کارمزد تراکنش (متغیر) بر اساس تراکنش
جمع کل تقریبی 3,000,000 - 7,000,000

📊 بهینه‌سازی هزینه‌ها

  • شروع با پلن پایه: در ابتدا از پلن‌های کوچک‌تر استفاده و با رشد ترافیک ارتقا دهید
  • CDN: آروان تا سقف مشخصی رایگان است؛ هزینه فقط برای حجم بالا
  • Caching: استفاده درست از Cache می‌تواند تا 70% ترافیک سرور را کاهش دهد
  • Image Optimization: تبدیل به WebP/AVIF حجم را تا 60% کاهش می‌دهد
  • SMS: با هوشمندی در ارسال (فقط موارد ضروری) هزینه کنترل‌پذیر است

✅ معیارهای پذیرش MVP

شرایطی که باید قبل از لانچ نهایی برآورده شوند

عملکرد

  • ثبت‌نام کامل زیر 30 ثانیه
  • TTFB < 800ms (App)
  • LCP < 2.5s (صفحات کلیدی)
  • CLS < 0.1
  • INP < 200ms
🎯

عملکرد

  • ورود با OTP موفق
  • نمایش داشبورد + 3 ابزار
  • نمودار پس از ثبت اولین وزن
  • رزرو تا SMS تایید
  • پرداخت تا تایید نهایی
📝

محتوا و SEO

  • 10 مقاله منتشر با Yoast Score > 80
  • Sitemap فعال و ثبت در Search Console
  • robots.txt صحیح
  • Schema Markup (Article, FAQ)
  • تمام تصاویر Alt دارند
🔒

امنیت

  • SSL فعال و A+ در SSL Labs
  • Rate Limiting روی OTP/API
  • WAF آروان فعال
  • WordPress Hardening کامل
  • بکاپ‌گیری تست‌شده

🚫 موارد خارج از MVP (برای فازهای بعد)

  • ❌ Email Marketing
  • ❌ PWA و Push Notifications
  • ❌ Gamification کامل (فقط Badge ساده)
  • ❌ دستیار هوشمند 24/7
  • ❌ یادآورهای خودکار
  • ❌ اتصال Google Calendar دوطرفه
  • ❌ گزارش‌های پیشرفته PDF

📋 نقشه راه آینده

فیچرها به ترتیب اولویت پس از تثبیت MVP

2️⃣

فاز 2

2-4 ماه بعد
  • یادآوری‌های هوشمند (SMS/In-App)
  • Google Calendar دوطرفه
  • پروفایل کامل‌تر + Onboarding
  • توصیه‌های شخصی‌سازی‌شده
  • گزارش هفتگی/ماهانه
  • ارتقا Gamification
3️⃣

فاز 3

4-8 ماه بعد
  • PWA (نصب روی موبایل)
  • Push Notifications
  • دستیار هوشمند 24/7
  • چالش‌های گروهی
  • طبع‌شناسی رایگان
  • DM Automation اینستاگرام
4️⃣

فاز 4

8+ ماه بعد
  • آنالیز ژنتیک
  • رژیم مزوبولیک
  • Membership چندسطحی
  • دوره‌های آنلاین
  • وبینارها
  • پنل B2B برای کلینیک‌ها
MVP (فعلی)

هر فاز پس از تحلیل داده و بازخورد کاربران آغاز می‌شود

📊 طراحی داشبورد کاربری

🎨 اجزای کلیدی داشبورد

👋 خوش‌آمدگویی شخصی

«سلام [نام]! امروز چطوری هستی؟»

📈 نمودار پیشرفت

Line Chart نمایش وزن در زمان (خالی تا اولین ثبت)

✅ چک‌لیست روزانه

  • ثبت وزن/وعده اصلی
  • 20 دقیقه پیاده‌روی
  • نوشیدن 6-8 لیوان آب

🧮 ابزارهای سریع

  • BMI: محاسبه شاخص توده بدنی
  • TDEE: کالری روزانه مورد نیاز
  • Macro: تقسیم درشت‌مغذی‌ها

🏆 Gamification سبک

  • Badge «اولین قدم»
  • Badge «هفته اول»
  • شمارش امتیاز ساده

💡 پیشنهادات

«برای نتیجه بهتر: قد/سن/فعالیت را کامل کن»

«اسلات‌های رزرو: 10:30، 12:00، 17:15»

🎨 اصول طراحی UI/UX

رنگ‌بندی

  • Primary: سبز #8BC32C
  • Secondary: بنفش #7C3AED
  • Background: خاکستری روشن

تایپوگرافی

  • فونت اصلی: Vazirmatn یا IRANSans
  • اندازه‌ها: 14-16px پایه
  • وزن‌ها: 400 (Regular), 600 (SemiBold), 700 (Bold)
  • فاصله خطوط: 1.6-1.8
Mobile-First Contrast > 4.5:1 Touch Target > 44px Grid-Based Micro-interactions

🎯 چرا این معماری؟

✅ مزایا

  • انتشار سریع محتوا: WordPress برای بلاگ روزانه بهینه است
  • SEO قوی: WordPress + Yoast برای سئو محتوا بی‌نظیر است
  • امنیت بالاتر: جداسازی داده کاربران از محتوا
  • مقیاس‌پذیری: هر بخش مستقل Scale می‌شود
  • تیم‌ورک بهتر: تولید محتوا و توسعه اپ مستقل
  • هزینه بهینه: پرداخت فقط برای منابع مورد نیاز

⚠️ چالش‌ها و راه‌حل‌ها

  • چالش: مدیریت دو سیستم
    راه‌حل: خودکارسازی Deploy با GitHub Actions
  • چالش: همگام‌سازی داده
    راه‌حل: در MVP نیازی نیست؛ فاز 2 با API
  • چالش: یکپارچگی UX
    راه‌حل: طراحی سیستم مشترک، Header/Footer یکسان

🚀 آماده برای شروع؟

با این نقشه راه، در 6 هفته یک MVP کامل و قابل استفاده خواهید داشت

1️⃣-2️⃣

هفته 1-2

زیرساخت + طراحی + OTP + ابزارها

3️⃣-4️⃣

هفته 3-4

داشبورد + رزرو + پرداخت + محتوا

5️⃣-6️⃣

هفته 5-6

بهینه‌سازی + امنیت + تست + لانچ

🎉

پایان هفته 6: لانچ و موفقیت!

سیستم کامل، امن و آماده برای رشد