# FTP Otomatik Senkronizasyon Kurulumu

## FTP Bilgileri
- **Host:** 135.125.24.173
- **Kullanıcı:** webviewolustur
- **Şifre:** CNDQWER123/*
- **Port:** 21 (varsayılan)
- **Remote Klasör:** /public_html

## Kurulum

### 1. FTP Extension Kurulumu (Önerilen)

Cursor/VSCode için FTP Sync extension'ı kurun:

1. Cursor'da Extensions panelini açın (Ctrl+Shift+X)
2. "FTP Sync" arayın
3. "FTP Sync" (lukasz-wronski) extension'ını kurun
4. `.vscode/settings.json` dosyası zaten yapılandırılmış durumda

**Özellikler:**
- Dosya kaydedildiğinde otomatik yükleme
- Sağ tık menüsünden manuel yükleme
- FTP Sync komutları (Ctrl+Shift+P)

### 2. Python Script ile Otomatik Senkronizasyon

**Gereksinim:** Python 3.6+ (ftplib standart kütüphanede gelir)

#### Tüm Dosyaları Yükleme
```bash
python scripts/ftp-sync.py upload
```

veya npm script:
```bash
npm run ftp:upload
```

#### Dosya Değişikliklerini İzleme (Watch Mode)
```bash
python scripts/ftp-sync.py watch
```

veya npm script:
```bash
npm run ftp:watch
```

### 3. Cursor Açıldığında Otomatik Başlatma

#### Yöntem 1: Tasks.json ile (Önerilen)

`.vscode/tasks.json` dosyası zaten yapılandırılmış. Cursor açıldığında otomatik başlayacak.

Manuel başlatmak için:
- `Ctrl+Shift+P` → "Tasks: Run Task" → "FTP: Watch and Sync"

#### Yöntem 2: NPM Script ile

```bash
npm run ftp:start
```

## Kullanım

### Otomatik Yükleme (FTP Extension)

1. Extension kurulduktan sonra
2. Her dosya kaydettiğinizde otomatik yüklenecek
3. Sağ tık → "FTP Sync: Upload" ile manuel yükleme

### Manuel Yükleme

**Tek dosya:**
- Sağ tık → "FTP Sync: Upload"

**Tüm dosyalar:**
- `Ctrl+Shift+P` → "FTP Sync: Upload All"

### Python Script Kullanımı

**Upload + Otomatik Watch (Önerilen):**
```bash
python scripts/ftp-sync.py upload
```

Bu komut:
1. ✅ Önce tüm dosyaları yükler
2. ✅ Sonra otomatik olarak watch mode'a geçer
3. ✅ Her dosya değişikliğinde otomatik yükler

**Sadece Watch Mode:**
```bash
python scripts/ftp-sync.py watch
```

**Sadece Upload (Watch olmadan):**
```bash
python scripts/ftp-sync.py upload --no-watch
```

Durdurmak için: `Ctrl+C`

## Atlanan Dosyalar

Aşağıdaki dosya ve klasörler otomatik olarak atlanır:
- `.git/`
- `.vscode/`
- `node_modules/`
- `.env`
- `*.log`
- `uploads/`
- `.DS_Store`
- `Thumbs.db`

**Not:** `vendor/` klasörü FTP ile yüklenecektir. İlk yükleme biraz zaman alabilir.

## Sunucu Kurulumu

**✅ Composer GEREKMİYOR!** Tüm bağımlılıklar manuel olarak oluşturuldu.

**Tüm dosyalar (vendor klasörü dahil) FTP ile yüklenecektir.**

Sadece FTP senkronizasyonunu çalıştırın:

```bash
python scripts/ftp-sync.py upload
```

Bu komut:
- ✅ Önce tüm dosyaları yükler (vendor klasörü dahil)
- ✅ Sonra otomatik olarak watch mode'a geçer
- ✅ Her dosya değişikliğinde otomatik yükler

**Cursor açıldığında otomatik başlar!**

## Sorun Giderme

### FTP Bağlantı Hatası

1. FTP sunucusunun çalıştığından emin olun
2. Firewall ayarlarını kontrol edin
3. Passive mode aktif mi kontrol edin (varsayılan: aktif)

### Dosyalar Yüklenmiyor

1. `.vscode/settings.json` dosyasını kontrol edin
2. FTP bilgilerinin doğru olduğundan emin olun
3. Extension'ın aktif olduğunu kontrol edin

### Watch Mode Çalışmıyor

1. Python'ın PATH'te olduğundan emin olun (Python 3.6+)
2. Script dosyasının çalıştırılabilir olduğundan emin olun
3. Terminal'de hata mesajlarını kontrol edin
4. Windows'ta: `python` yerine `py` veya `python3` deneyin

## Notlar

- İlk yükleme biraz zaman alabilir (tüm dosyalar)
- Sonraki yüklemeler sadece değişen dosyalar için olacak
- `.env` dosyası güvenlik nedeniyle yüklenmez
- `uploads/` klasörü yüklenmez (sunucuda zaten var)

