# Turf Edge AI - إعداد Supabase

هذه هي الخطوة الثانية بعد اختيار الدومين `turfedgeai.com`.

الحالة:

تم إنشاء مشروع Supabase باسم `Turf-edge-ai` يوم 2026-07-07، وتم الوصول إلى SQL Editor.

## الهدف

إنشاء قاعدة بيانات تحفظ:

- حسابات المشتركين.
- الاشتراكات.
- قائمة المهتمين.
- السباقات والخيول.
- الأوراق المحفوظة.
- تقارير Premium.
- أحداث استخدام الميزات المدفوعة.

## 1. إنشاء المشروع

1. افتح Supabase.
2. أنشئ مشروع جديد باسم:

`turf-edge-ai`

3. اختر منطقة قريبة من فرنسا أو أوروبا.
4. احفظ كلمة مرور قاعدة البيانات في مكان آمن.

ملاحظة مهمة: هذه الكلمة ليست كلمة مرور حسابك العادي. إنها كلمة مرور قاعدة البيانات، احتفظ بها في مدير كلمات مرور ولا ترسلها في الدردشة.

تم تنفيذ هذه الخطوة. الخطوة التالية هي تشغيل ملف الجداول.

## 2. إنشاء الجداول

داخل Supabase:

1. افتح SQL Editor.
2. انسخ محتوى الملف:

`RACING_EDGE_OS_SUPABASE_SCHEMA.sql`

3. شغّل السكريبت.
4. تأكد من ظهور الجداول التالية:

- `profiles`
- `subscriptions`
- `waitlist_leads`
- `races`
- `runners`
- `tickets`
- `premium_reports`
- `member_access_events`

## 3. المفاتيح المطلوبة

من Supabase Project Settings ثم API، ستحتاج:

```env
SUPABASE_URL=
SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
```

مهم:

- `SUPABASE_ANON_KEY` يمكن استعماله لاحقا في المتصفح إذا احتجنا تسجيل دخول مباشر.
- `SUPABASE_SERVICE_ROLE_KEY` يبقى في الخادم فقط داخل Vercel Environment Variables.
- لا تضع `SUPABASE_SERVICE_ROLE_KEY` في أي ملف HTML أو JavaScript أمامي.

في هذه المرحلة لا ترسل لي المفاتيح السرية. يكفي أن تخبرني أن المشروع تم إنشاؤه، ثم ننتقل إلى تشغيل ملف SQL خطوة بخطوة.

## 4. ربط Vercel لاحقا

داخل Vercel Environment Variables أضف:

```env
APP_URL=https://www.turfedgeai.com
SUPABASE_URL=...
SUPABASE_ANON_KEY=...
SUPABASE_SERVICE_ROLE_KEY=...
```

ثم أعد نشر المشروع.

## 5. اختبار أول اتصال

بعد ربط المفاتيح ونشر API:

1. افتح `https://www.turfedgeai.com/racing-checkout?plan=pro`.
2. أدخل بريد تجربة.
3. اضغط تجهيز Checkout.
4. إذا تم إنشاء session أو payload بدون خطأ، فالربط الأولي يعمل.

## 6. قواعد الأمان قبل البيع

- لا تجعل جدول `subscriptions` قابلا للتعديل من المستخدم مباشرة.
- استخدم webhook Stripe لتحديث حالة الاشتراك.
- احتفظ بسجل `member_access_events` لمراقبة الميزات المدفوعة.
- لا تحفظ بيانات بطاقة الدفع داخل Supabase؛ Stripe هو المسؤول عن الدفع.

## 7. ماذا أحتاج منك في هذه المرحلة

عندما تنشئ مشروع Supabase، أرسل لي فقط القيم غير السرية أو أخبرني أنك جهزتها:

- هل أنشأت المشروع؟
- هل شغّلت ملف SQL؟
- هل ظهرت الجداول؟

لا ترسل `SUPABASE_SERVICE_ROLE_KEY` في الدردشة إذا لم تكن متأكدا من أمان المكان. سنضعها لاحقا في Vercel مباشرة.
