الوثائق
StartFast Pro
StartFast Pro هو قالب Next.js 15 مميز وجاهز للإنتاج مع المصادقة، المدفوعات، الفرق، التدويل، التحليلات، المدونة، ونظام UI نظيف — كل شيء معد مسبقاً.
ستساعدك هذه الوثائق على البدء بسرعة وتخصيص StartFast Pro لمنتج SaaS الخاص بك.
ما تحصل عليه
- •Next.js 15 App Router مع React 19 ومكونات الخادم
- •مصادقة Better Auth (بريد إلكتروني، Google، GitHub OAuth)
- •قاعدة بيانات PostgreSQL مع Drizzle ORM
- •مدفوعات Stripe مع اشتراكات و Webhooks
- •إرسال البريد الإلكتروني عبر Resend
- •التدويل مع next-intl (7 لغات)
- •الفرق و RBAC مع المنظمات والأدوار والصلاحيات
- •تحليلات مع تكامل PostHog
- •نظام مدونة مع Markdown و SEO ووقت القراءة
- •لوحة تحكم إدارية للمستخدمين والطلبات والتحليلات والمحتوى
- •اختبارات E2E مع Playwright
- •TypeScript مع أمان الأنواع من طرف إلى طرف
بداية سريعة
git clone https://github.com/Harries/startfast-pro.git my-saascd my-saas && npm installcp .env.example .env.localnpm run db:pushnpm run devافتح http://localhost:3000
متغيرات البيئة
انسخ .env.example إلى .env.local وقم بالتكوين:
# App
NEXT_PUBLIC_APP_URL=http://localhost:3000
NEXT_PUBLIC_APP_NAME=StartFast Pro
# Database (Postgres)
DATABASE_URL=postgresql://username:password@localhost:5432/startfast_pro
# Authentication (Better-Auth)
BETTER_AUTH_SECRET=your-secret-key-at-least-32-characters
BETTER_AUTH_URL=http://localhost:3000
# Email (Resend)
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.com
# Stripe
STRIPE_SECRET_KEY=sk_test_xxxxx
STRIPE_WEBHOOK_SECRET=whsec_xxxxx
NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY=pk_test_xxxxx
# Optional: Google OAuth
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
# Optional: GitHub OAuth
GITHUB_CLIENT_ID=
GITHUB_CLIENT_SECRET=
# Analytics (PostHog)
NEXT_PUBLIC_POSTHOG_KEY=
NEXT_PUBLIC_POSTHOG_HOST=https://app.posthog.com
# Default Locale
NEXT_PUBLIC_DEFAULT_LOCALE=enإعداد قاعدة البيانات
StartFast Pro يستخدم PostgreSQL مع Drizzle ORM. نوصي باستخدام Neon لـ PostgreSQL بدون خادم.
- 1.إنشاء قاعدة بيانات PostgreSQL (محلية أو Neon)
- 2.تعيين DATABASE_URL في .env.local
- 3.تشغيل npm run db:push لدفع المخطط إلى قاعدة البيانات
- 4.استخدام npm run db:studio لعرض/تحرير البيانات مع Drizzle Studio
- 5.استخدام npm run db:generate لإنشاء الترحيلات
Schema: مخطط قاعدة البيانات معرف في src/db/schema.ts باستخدام نهج TypeScript-first من Drizzle. عميل DB يتم تصديره من src/db/index.ts.
المصادقة
StartFast Pro يستخدم Better Auth مع محول Drizzle للمصادقة. يدعم البريد/كلمة المرور و OAuth الاجتماعي.
- 1.تعيين BETTER_AUTH_SECRET (32 حرفاً على الأقل)
- 2.تعيين BETTER_AUTH_URL بعنوان تطبيقك
- 3.(اختياري) تكوين Google OAuth: GOOGLE_CLIENT_ID و GOOGLE_CLIENT_SECRET
- 4.(اختياري) تكوين GitHub OAuth: GITHUB_CLIENT_ID و GITHUB_CLIENT_SECRET
Tip: إعداد المصادقة في src/lib/auth.ts (الخادم) و src/lib/auth-client.ts (العميل). تنتهي الجلسات بعد 7 أيام افتراضياً.
مدفوعات Stripe
StartFast Pro يدعم اشتراكات Stripe مع معالجة Webhooks.
- 1.احصل على مفاتيح API من Stripe Dashboard → API Keys
- 2.تعيين STRIPE_SECRET_KEY، NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY
- 3.إنشاء نقطة نهاية webhook في https://your-domain.com/api/webhook/stripe
- 4.نسخ سر توقيع webhook إلى STRIPE_WEBHOOK_SECRET
Tip: للاختبار المحلي، استخدم stripe listen --forward-to localhost:3000/api/webhook/stripe
إعداد البريد الإلكتروني
StartFast Pro يستخدم Resend للبريد الإلكتروني المعاملاتي.
- 1.إنشاء حساب Resend
- 2.الحصول على مفتاح API وتعيين RESEND_API_KEY
- 3.تعيين EMAIL_FROM بعنوان المرسل الموثق
RESEND_API_KEY=re_xxxxx
EMAIL_FROM=onboarding@yourdomain.comالتدويل
StartFast Pro يتضمن دعم متعدد اللغات عبر next-intl مع 7 لغات مدمجة.
- • الإنجليزية (en)
- • الصينية (zh)
- • اليابانية (ja)
- • الكورية (ko)
- • الألمانية (de)
- • الفرنسية (fr)
- • الإسبانية (es)
ملفات الترجمة موجودة في src/i18n/messages/. تعيين اللغة الافتراضية:
NEXT_PUBLIC_DEFAULT_LOCALE=enالتحليلات
StartFast Pro يتكامل مع PostHog لتحليلات المنتج. يتضمن متتبعات أحداث معدة مسبقاً للتسجيلات والاشتراكات وإجراءات الفريق والمزيد.
- 1.إنشاء حساب PostHog
- 2.تعيين NEXT_PUBLIC_POSTHOG_KEY و NEXT_PUBLIC_POSTHOG_HOST
Tip: مساعدات التحليلات في src/lib/analytics.ts. استخدم analytics.signUp()، analytics.subscriptionStarted()، إلخ.
الفرق والأدوار
StartFast Pro يتضمن نظام كامل للمنظمات والتحكم في الوصول بناءً على الأدوار (RBAC).
الأدوار
- • المالك — وصول كامل. يمكنه نقل الملكية.
- • المسؤول — إدارة الأعضاء والإعدادات ومعظم الموارد.
- • العضو — إنشاء وتحرير المحتوى. وصول محدود للإعدادات.
- • المشاهد — وصول للقراءة فقط.
Tip: الصلاحيات معرفة في src/lib/permissions.ts. استخدم hasPermission(role, permission) للتحقق من الوصول.
النشر
انشر على Vercel في دقائق:
- 1.ادفع الكود إلى GitHub
- 2.استورد المستودع على Vercel
- 3.أضف جميع متغيرات البيئة
- 4.انشر!
Important: بعد النشر، حدّث عنوان webhook الخاص بـ Stripe إلى نطاق الإنتاج.
الدعم
تحتاج مساعدة؟ تواصل معنا:
- • Email: support@startfast.dev
- • GitHub: @Harries
- • Twitter: @HarriesSteele