اذهب للمحتوى الرئيسي

إعداد المتجر

فعّل الحسابات ولوحة التحكم في خطوات واضحة

دليل تفعيل Supabase

الصفحات جاهزة في الكود — تحتاج ربط Supabase لتعمل

Supabase مربوط
  1. 1

    أنشئ مشروع Supabase

    سجّل في supabase.com وأنشئ مشروعاً جديداً

    فتح لوحة Supabase
  2. املأ ملف .env.local

    انسخ المفاتيح من Project Settings > API: URL و anon key و service_role key

    .env.local
  3. 3

    شغّل ملفات SQL

    في SQL Editor شغّل بالترتيب:

    • supabase/seeds/reset-fresh.sql
    • supabase/schema/schema-v2.sql
    • supabase/seeds/seed.sql
    • supabase/schema/storage.sql
  4. 4

    فعّل المصادقة

    URL Configuration + Google + Authentica للجوال. لا تحتاج صفحة OAuth Apps.

    1) URL Configuration في Supabase

    Authentication > URL Configuration — أضف Site URL وقائمة Redirect URLs أدناه.

    فتح URL Configuration

    Site URL (الإنتاج)

    https://www.rawad-ads.com

    Redirect URLs (انسخ الكل)

    • http://localhost:3000/auth/callback
    • http://localhost:3000/**
    • http://localhost:3001/auth/callback
    • http://localhost:3001/**
    • http://localhost:3002/auth/callback
    • http://localhost:3002/**
    • http://127.0.0.1:3000/auth/callback
    • http://127.0.0.1:3000/**
    • http://127.0.0.1:3001/auth/callback
    • http://127.0.0.1:3001/**
    • https://www.rawad-ads.com/auth/callback
    • https://www.rawad-ads.com/**
    • https://rawad-ads.com/auth/callback
    • https://rawad-ads.com/**
    • https://onlyforyou.rawad-ads.com/auth/callback
    • https://onlyforyou.rawad-ads.com/**
    • https://solutions.rawad-ads.com/auth/callback
    • https://solutions.rawad-ads.com/**
    • https://signage.rawad-ads.com/auth/callback
    • https://signage.rawad-ads.com/**
    • https://health.rawad-ads.com/auth/callback
    • https://health.rawad-ads.com/**
    • https://tech.rawad-ads.com/auth/callback
    • https://tech.rawad-ads.com/**
    • https://only-for-you-navy.vercel.app/auth/callback
    • https://only-for-you-navy.vercel.app/**
    • https://*-zxc50zxc.vercel.app/auth/callback

    رابط callback التطبيق

    https://only-for-you-navy.vercel.app/auth/callback

    2) Google Provider

    Authentication > Providers > Google — فعّل وألصق Client ID/Secret من Google Cloud.

    فتح إعدادات Google في Supabase

    Authorized redirect URI في Google Cloud (ليس رابط موقعك)

    https://xeoqxeqiaheapziosvzk.supabase.co/auth/v1/callback

    Authorized JavaScript origins في Google Cloud

    • http://localhost:3000
    • http://localhost:3001
    • http://localhost:3002
    • http://127.0.0.1:3000
    • http://127.0.0.1:3001
    • https://www.rawad-ads.com
    • https://rawad-ads.com
    • https://onlyforyou.rawad-ads.com
    • https://solutions.rawad-ads.com
    • https://signage.rawad-ads.com
    • https://health.rawad-ads.com
    • https://tech.rawad-ads.com
    • https://only-for-you-navy.vercel.app

    تخطَّ Authentication > OAuth Apps — غير مطلوبة لمنصة رواد التقدم.

    3) صلاحية المسؤول (staff)

    بعد أول تسجيل دخول من /ar/admin/login، شغّل في SQL Editor:

    فتح SQL Editor

    التحقق من فريق المتجر

    select id, email, full_name from public.staff;

    ربط حساب المسؤول في جدول staff

    insert into public.staff (id, email, full_name) select id, email, coalesce(raw_user_meta_data->>'full_name', split_part(email, '@', 1)) from auth.users where email = 'zxc50zxcc@gmail.com' on conflict (id) do update set email = excluded.email, full_name = coalesce(excluded.full_name, public.staff.full_name);

    تفعيل Authentica (دخول العملاء بالجوال)

    بوابة العميل تعتمد على Authentica — بدون المفتاح لن يُرسل OTP.

    1. أنشئ حساباً مجانياً (100 تحقق مجاني)
    2. أنشئ تطبيقاً وانسخ API Key
    3. أضف المفتاح في .env.local و Vercel ثم Redeploy
    4. جرّب /ar/login أو npm run verify:portal
    AUTHENTICA_API_KEY=<your_key_from_portal>
    دليل OTP — Authentica
  5. 5

    اربط حسابك في staff

    سجّل من /ar/admin/login ثم شغّل في SQL Editor:

    insert into public.staff (id, email, full_name)
    select id, email, coalesce(raw_user_meta_data->>'full_name', split_part(email, '@', 1))
    from auth.users
    where email = 'zxc50zxcc@gmail.com'
    on conflict (id) do update
      set email = excluded.email,
          full_name = coalesce(excluded.full_name, public.staff.full_name);
  6. أعد تشغيل الموقع

    npm run dev أو Redeploy على Vercel ثم جرّب /ar/login

قائمة التحقق

  • ملف .env.local مملوء بمفاتيح حقيقية
  • تشغيل schema-v2 (customers + staff)
  • NEXT_PUBLIC_SITE_URL = رابط الإنتاج على Vercel
  • AUTHENTICA_API_KEY مفعّل لدخول الجوال
  • صف staff فيه مسؤول واحد على الأقل

بعد التفعيل، هذه الصفحات ستعمل:

  • /ar/loginتسجيل دخول العملاء (جوال)
  • /ar/accountحساب العميل وطلباته
  • /ar/admin/loginدخول المسؤولين
  • /ar/adminلوحة التحكم (للمسؤول فقط)
  • /ar/admin/brands/only-for-you/products/newإضافة منتج ورفع صور/فيديو