# WhatsApp Platform - Kurulum Rehberi

## 📋 Gereksinimler

- **PHP**: 8.1 veya üzeri
- **MySQL**: 5.7+ / MariaDB 10.3+
- **Composer**: PHP paket yöneticisi
- **Web Sunucusu**: Apache/Nginx (Laragon önerilir)

## 🚀 Adım Adım Kurulum

### 1. Projeyi İndirin

Proje dosyalarını `c:\laragon\www\wp` klasörüne yerleştirin.

### 2. Composer Autoload

Terminal/CMD açın ve proje klasöründe şu komutu çalıştırın:

```bash
cd c:\laragon\www\wp
composer dump-autoload
```

Eğer composer yüklü değilse: https://getcomposer.org/download/

### 3. Veritabanı Konfigürasyonu

`config/hat_database.php` dosyası varsayılan olarak Laragon ayarlarını kullanır:

- Host: 127.0.0.1
- Port: 3306
- Database: hat_messaging
- Username: root
- Password: (boş)

**Farklı ayarlar için ortam değişkenleri kullanabilirsiniz:**

Windows PowerShell:
```powershell
$env:HAT_DB_HOST = "127.0.0.1"
$env:HAT_DB_PORT = "3306"
$env:HAT_DB_NAME = "hat_messaging"
$env:HAT_DB_USER = "root"
$env:HAT_DB_PASSWORD = ""
```

### 4. Veritabanını Kurun

**Laragon MySQL'i başlatın**, ardından:

```bash
php scripts/setup_platform_database.php
```

Bu script:
- ✅ `hat_messaging` veritabanını oluşturur
- ✅ 18 tabloyu oluşturur
- ✅ 35 warming mesaj şablonu ekler
- ✅ Admin kullanıcısı oluşturur

**Çıktı örneği:**
```
==============================================
WhatsApp Platform - Veritabanı Kurulumu
==============================================

✓ MySQL bağlantısı başarılı
  Host: 127.0.0.1:3306

✓ Veritabanı oluşturuldu/kontrol edildi: hat_messaging

Şema oluşturuluyor...
✓ Tablolar oluşturuldu

✓ İlk veriler eklendi

Oluşturulan tablolar (18 adet):
  - users
  - tenants
  - whatsapp_numbers
  - contacts
  - campaigns
  - messages
  ...

✓ Warming mesaj şablonları: 35 adet
✓ Admin kullanıcı: Platform Admin (admin@whatsapp-platform.local)
  Varsayılan şifre: admin123 (ÖNEMLİ: Değiştirin!)

==============================================
✓ Kurulum başarıyla tamamlandı!
==============================================
```

### 5. Web Sunucusu Yapılandırması

**Laragon için:**

1. Laragon'u başlatın
2. Apache'yi başlatın
3. Tarayıcıda açın: `http://wp.test/`

**Manuel Apache VirtualHost:**

`httpd-vhosts.conf` dosyasına ekleyin:

```apache
<VirtualHost *:80>
    ServerName wp.test
    DocumentRoot "c:/laragon/www/wp/public"
    
    <Directory "c:/laragon/www/wp/public">
        AllowOverride All
        Require all granted
        DirectoryIndex index.php
    </Directory>
</VirtualHost>
```

`hosts` dosyasına ekleyin (`C:\Windows\System32\drivers\etc\hosts`):
```
127.0.0.1 wp.test
```

### 6. İlk Giriş

Tarayıcıda `http://wp.test/` adresine gidin.

**Admin Giriş Bilgileri:**
- Email: `admin@whatsapp-platform.local`
- Şifre: `admin123`

⚠️ **ÖNEMLİ:** İlk girişten sonra şifreyi mutlaka değiştirin!

## 🔧 Warming Sistemi Kurulumu

Warming sistemi, WhatsApp numaralarının bloke olmasını önlemek için otomatik sohbet oluşturur.

### Manuel Çalıştırma

```bash
php scripts/run_warming_scheduler.php
```

### Otomatik Çalıştırma (Windows Task Scheduler)

1. **Task Scheduler** açın (Görev Zamanlayıcı)
2. **Create Basic Task** (Temel Görev Oluştur)
3. İsim: `WhatsApp Warming Scheduler`
4. Trigger: **Daily** (Günlük)
5. Start time: `00:00:00`
6. Action: **Start a program**
7. Program/script: `C:\laragon\bin\php\php-8.1.10-Win32-vs16-x64\php.exe`
   (PHP sürümünüzü kontrol edin)
8. Arguments: `C:\laragon\www\wp\scripts\run_warming_scheduler.php`
9. **Advanced Settings** → **Repeat task every**: `1 minute`
10. **Duration**: `Indefinitely`

### Linux/Mac Cron Job

```bash
# Crontab düzenle
crontab -e

# Her dakika çalıştır
* * * * * cd /path/to/wp && php scripts/run_warming_scheduler.php >> /var/log/warming.log 2>&1
```

## 📱 WhatsApp Bağlantısı

Sistemde iki yöntem kullanılabilir:

### 1. Meta Business API (Önerilen - Gelecek Özellik)
- Resmi WhatsApp Business API
- Daha stabil ve güvenilir
- Ücretli

### 2. QR Kod ile Bağlantı (Mevcut)
- WhatsApp Web benzeri
- Ücretsiz
- Her numara için QR kod taraması gerekir

## 🎯 İlk Kullanım Adımları

1. **Admin olarak giriş yapın**
2. **Şifrenizi değiştirin**
3. **İlk müşteri hesabı oluşturun** (veya kendi hesabınızı kullanın)
4. **WhatsApp numarası ekleyin**
5. **Kişi listesi oluşturun**
6. **İlk kampanyanızı oluşturun**

## 🔍 Sorun Giderme

### Veritabanı Bağlantı Hatası

```
HATA: SQLSTATE[HY000] [2002] No connection could be made
```

**Çözüm:**
- MySQL/MariaDB'nin çalıştığından emin olun
- Laragon'da "Start All" butonuna basın
- Port 3306'nın açık olduğunu kontrol edin

### Composer Hatası

```
'composer' is not recognized as an internal or external command
```

**Çözüm:**
- Composer'ı indirin: https://getcomposer.org/download/
- Kurulumdan sonra terminal/CMD'yi yeniden başlatın

### PHP Hatası

```
'php' is not recognized as an internal or external command
```

**Çözüm:**
- Laragon'da PHP yolunu kullanın:
  ```
  C:\laragon\bin\php\php-8.1.10-Win32-vs16-x64\php.exe
  ```
- Veya PHP'yi PATH'e ekleyin

### Sayfa Açılmıyor (404)

**Çözüm:**
- Apache'nin çalıştığından emin olun
- VirtualHost yapılandırmasını kontrol edin
- `public` klasörünün document root olduğunu doğrulayın

### Warming Çalışmıyor

**Kontrol Listesi:**
- ✅ En az 2 WhatsApp numarası eklenmiş mi?
- ✅ Numaralar "connected" durumunda mı?
- ✅ Warming aktif mi? (is_warming = TRUE)
- ✅ Scheduler çalışıyor mu?

## 📊 Veritabanı Yedekleme

**Yedek Alma:**
```bash
mysqldump -u root -p hat_messaging > backup.sql
```

**Yedek Geri Yükleme:**
```bash
mysql -u root -p hat_messaging < backup.sql
```

## 🔐 Güvenlik Önerileri

1. ✅ Admin şifresini değiştirin
2. ✅ Güçlü şifreler kullanın
3. ✅ Veritabanı kullanıcısına şifre ekleyin
4. ✅ `public` dışındaki klasörlere web erişimini engelleyin
5. ✅ HTTPS kullanın (production için)

## 📞 Destek

Sorun yaşarsanız:
1. `database/migrations/` klasöründeki SQL dosyalarını kontrol edin
2. `scripts/setup_platform_database.php` çıktısını inceleyin
3. MySQL error log'larına bakın

## 🎉 Kurulum Tamamlandı!

Artık platformu kullanmaya başlayabilirsiniz. İyi çalışmalar!
