# 📘 دليل النشر — نسختان متاحتان

يحتوي هذا المشروع على نسختين كاملتين من نفس النظام:

| النسخة | المسار | الاستخدام |
|---|---|---|
| **PHP + MySQL** ✅ الموصى بها لـ cPanel | `php-export/` | تعمل على أي استضافة cPanel عادية (Apache + PHP + MySQL) بدون أي إعداد متقدم |
| **Next.js + PostgreSQL** | باقي المشروع (`src/`) | تحتاج استضافة تدعم Node.js (VPS أو cPanel مع Node.js Selector) |

---

## ✅ الطريقة الموصى بها: نسخة PHP (لأي استضافة cPanel عادية)

بما أن معظم استضافات cPanel المشتركة **لا تدعم Node.js**، تم تجهيز نسخة PHP كاملة الوظائف
في مجلد **`php-export/`** تعمل فورًا بمجرد الرفع.

### الخطوات السريعة:

1. **افتح مجلد `php-export/`** — هذا هو كل ما تحتاج رفعه.
2. **اقرأ `php-export/README.md`** — يحتوي كل التفاصيل خطوة بخطوة بالعربية:
   - إنشاء قاعدة بيانات MySQL من cPanel
   - استيراد `php-export/database.sql` عبر phpMyAdmin
   - رفع الملفات عبر File Manager
   - تعديل `config.php` ببيانات الاتصال
   - تسجيل الدخول للمتجر ولوحة التحكم

### الدخول الافتراضي بعد التثبيت:
- **المتجر:** `https://yourdomain.com/index.php` (حساب تجريبي: `demo@store.com` / `User@12345`)
- **لوحة التحكم:** `https://yourdomain.com/admin/login.php` (`admin` / `Admin@12345`)

⚠️ **غيّر كلمة مرور الأدمن فورًا بعد أول دخول.**

### ملخص الحماية المطبّقة (التفاصيل الكاملة في `php-export/README.md`):
- PDO Prepared Statements في كل استعلام (لا حقن SQL)
- `htmlspecialchars` على كل مخرج (لا XSS)
- رمز CSRF في كل نموذج
- `password_hash`/`password_verify` لكل كلمات المرور
- جلسات آمنة (`HttpOnly`, `SameSite`, تجديد المعرّف عند الدخول)
- Rate Limiting على محاولات الدخول
- معاملات DB ذرية على كل عملية مالية (لا تعارض ولا خصم مكرر)
- سجل تدقيق كامل لعمليات الأدمن

---

## 🌐 الطريقة البديلة: نسخة Next.js (تحتاج Node.js)

إذا كانت استضافتك تدعم Node.js فعليًا (VPS، أو cPanel مع "Setup Node.js App")،
يمكنك استخدام النسخة الكاملة الأصلية في هذا المشروع (بها كل الميزات الـ34 قسمًا من الطلب الأصلي).

راجع الأقسام التالية إن اخترت هذا المسار:

### قاعدة بيانات PostgreSQL
```bash
psql -U username -d database_name -f DEPLOY_SQL.sql
```

### متغيرات البيئة (.env)
```env
DATABASE_URL=postgresql://user:pass@localhost:5432/dbname
ENCRYPTION_KEY=سلسلة-عشوائية-طويلة
NODE_ENV=production
FORCE_SSL=1
```

### البناء والتشغيل
```bash
npm install
npm run build
npm start   # أو عبر PM2: pm2 start "npm start" --name store
```

### على VPS (موصى به لهذه النسخة)
```bash
apt install -y nodejs postgresql nginx
npm install -g pm2
# … أعدّ Nginx كـ reverse proxy لـ localhost:3000 ثم فعّل SSL بـ certbot
```

### على cPanel مع Node.js Selector
1. **Setup Node.js App** → أنشئ تطبيقًا جديدًا (Node 20+, Production mode)
2. اربط جذر التطبيق بمجلد المشروع، وأضف متغيرات البيئة من نفس الصفحة
3. **Run NPM Install** ثم اضبط أمر التشغيل على `npm start`
4. اضغط **Restart**

---

## ❓ استضافتي لا تدعم لا PHP+MySQL المتقدم ولا Node.js؟

استخدم نسخة `php-export/` — فهي مبنية بـ PHP خام (بدون أي إطار عمل أو Composer)
وتعمل على أبسط استضافات cPanel المشتركة التي توفر PHP 8 و MySQL فقط، وهو المتاح
في الغالبية العظمى من الاستضافات العربية.
