# دليل التثبيت الكامل - نظام صيانة الأجهزة

## المتطلبات
- PHP 7.4 أو أحدث
- MySQL 5.7 / MariaDB 10.2 أو أحدث
- خادم ويب (Apache/Nginx) أو Laragon

---

## الخطوة 1: إنشاء قاعدة البيانات

### أ) عبر phpMyAdmin
1. افتح phpMyAdmin (`http://localhost/phpmyadmin`)
2. اضغط **استيراد** (Import)
3. اختر ملف `database.sql`
4. اضغط **تنفيذ** (Go)
5. اختبر: يجب أن تظهر قاعدة `maintenance_db` وجداولها

### ب) عبر سطر الأوامر
```bash
mysql -u root -p < database.sql
```

---

## الخطوة 2: صلاحيات قاعدة البيانات (اختياري)

**للتطوير المحلي (Laragon):** يمكن تخطي هذه الخطوة واستخدام `root` بدون كلمة مرور.

**للإنتاج أو بيئة مشتركة:**
1. في phpMyAdmin: تبويب SQL → الصق محتوى `database_permissions.sql` → تنفيذ
2. أو عبر سطر الأوامر: `mysql -u root -p < database_permissions.sql`
3. عدّل `config.php`:
   ```php
   define('DB_USER', 'maintenance_user');
   define('DB_PASS', 'Maintenance@2025');
   ```

---

## الخطوة 3: إعدادات config.php

انسخ `config.example.php` إلى `config.php` (إن لم يكن موجوداً) وعدّل:

```php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');           // أو maintenance_user
define('DB_PASS', '');               // كلمة مرور MySQL
define('DB_NAME', 'maintenance_db');
```

---

## الخطوة 4: تصدير Excel (اختياري)

```bash
cd C:\laragon\www\almanara\rgeed
composer install
```

بدون Composer يعمل التصدير بصيغة CSV.

---

## الخطوة 5: مجلد الصور

المجلد `uploads/` يُنشأ تلقائياً. تأكد من صلاحية الكتابة:
- في Windows/Laragon: عادة متوفرة تلقائياً
- في Linux: `chmod 755 uploads` أو `chmod 777 uploads`

---

## الخطوة 6: التشغيل

1. شغّل Apache و MySQL (Laragon: Start All)
2. افتح المتصفح: `http://localhost/almanara/rgeed/` أو حسب مسار المشروع
3. سجّل الدخول:
   - **المستخدم:** admin
   - **كلمة المرور:** admin123

---

## استكشاف الأخطاء

| المشكلة | الحل |
|---------|------|
| فشل الاتصال بقاعدة البيانات | تحقق من DB_HOST, DB_USER, DB_PASS في config.php |
| الصفحة بيضاء | فعّل عرض الأخطاء: `error_reporting(E_ALL)` مؤقتاً |
| لا يمكن رفع الصور | تحقق من صلاحيات مجلد uploads |
| تصدير Excel لا يعمل | نفّذ `composer install` |
