# Markamama Kariyer — Production Kurulum Rehberi

Bu dosya, projeyi canlı sunucuya almadan önce yapılması gereken adımları içerir.
Kod değişikliği gerektirmeyen, sadece yapılandırma ve komut çalıştırma adımlarıdır.

---

## 1. .env Dosyasını Düzenle

Aşağıdaki değerleri production sunucuna göre güncelle:

```env
APP_NAME="Markamama Kariyer"
APP_ENV=production
APP_KEY=base64:...          # Değiştirme — mevcut key'i koru
APP_DEBUG=false
APP_URL=https://kariyer.markamama.com.tr   # Gerçek domain adresin

APP_TIMEZONE=Europe/Istanbul

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=markamama_kariyer
DB_USERNAME=markamama_db_user   # root KULLANMA — ayrı bir DB kullanıcısı oluştur
DB_PASSWORD=GucluBirSifre123!   # Güçlü bir şifre belirle

SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=true
SESSION_SECURE_COOKIE=true      # HTTPS zorunlu — true yap
SESSION_SAME_SITE=strict

FILESYSTEM_DISK=local
QUEUE_CONNECTION=database

CACHE_STORE=database

LOG_CHANNEL=stack
LOG_STACK=single
LOG_LEVEL=error

MAIL_MAILER=smtp               # Gerçek SMTP sağlayıcısı (Mailgun, SES, Postmark vb.)
MAIL_HOST=smtp.mailgun.org
MAIL_PORT=587
MAIL_USERNAME=postmaster@mg.markamama.com.tr
MAIL_PASSWORD=mailgun_api_key
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="kariyer@markamama.com.tr"
MAIL_FROM_NAME="Markamama Kariyer"

RECAPTCHA_SITE_KEY=            # Google reCAPTCHA v3 key (opsiyonel ama önerilir)
RECAPTCHA_SECRET_KEY=
```

---

## 2. Veritabanı Kullanıcısı Oluştur (root Kullanma)

MySQL'de ayrı bir kullanıcı oluştur:

```sql
CREATE DATABASE markamama_kariyer CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'markamama_db_user'@'localhost' IDENTIFIED BY 'GucluBirSifre123!';
GRANT ALL PRIVILEGES ON markamama_kariyer.* TO 'markamama_db_user'@'localhost';
FLUSH PRIVILEGES;
```

---

## 3. Composer Bağımlılıklarını Yükle

```bash
composer install --no-dev --optimize-autoloader
```

---

## 4. Migration ve Seeder Çalıştır

```bash
php artisan migrate --force
php artisan db:seed --class=AdminUserSeeder --force
```

> **ÖNEMLİ:** Seeder çalıştıktan sonra admin şifresini hemen değiştir!
> Varsayılan: admin@markamama.com / Admin1234!
> Admin paneline giriş yap → Profil → Şifre Değiştir

---

## 5. Storage Symlink Oluştur

Logo, favicon ve diğer public dosyalar için:

```bash
php artisan storage:link
```

---

## 6. Cache ve Config Optimize Et

```bash
php artisan config:cache
php artisan route:cache
php artisan view:cache
php artisan optimize
```

---

## 7. Queue Worker Kur (Supervisor ile)

CV tarama ve e-posta bildirimleri queue üzerinden çalışır. Supervisor kurulu değilse:

```bash
sudo apt-get install supervisor
```

`/etc/supervisor/conf.d/markamama-worker.conf` dosyası oluştur:

```ini
[program:markamama-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/kariyer-markamama/artisan queue:work database --sleep=3 --tries=3 --max-time=3600
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
user=www-data
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/kariyer-markamama/storage/logs/worker.log
stopwaitsecs=3600
```

Supervisor'ı başlat:

```bash
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start markamama-worker:*
```

---

## 8. HTTPS / SSL Sertifikası

Let's Encrypt ile ücretsiz SSL:

```bash
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d kariyer.markamama.com.tr
```

Nginx config'inde `proxy_set_header X-Forwarded-Proto https;` satırının olduğundan emin ol.

---

## 9. Dosya İzinleri

```bash
sudo chown -R www-data:www-data /var/www/kariyer-markamama
sudo chmod -R 755 /var/www/kariyer-markamama
sudo chmod -R 775 /var/www/kariyer-markamama/storage
sudo chmod -R 775 /var/www/kariyer-markamama/bootstrap/cache
```

---

## 10. robots.txt Kontrol Et

`public/robots.txt` dosyasında admin panelinin arama motorlarından gizlendiğinden emin ol:

```
User-agent: *
Disallow: /admin/
Disallow: /login
Allow: /
```

---

## 11. Cron Job Ekle (Zamanlanmış Görevler)

```bash
crontab -e
```

Şu satırı ekle:

```
* * * * * cd /var/www/kariyer-markamama && php artisan schedule:run >> /dev/null 2>&1
```

---

## 12. Yayın Sonrası Kontrol Listesi

- [ ] Admin paneline giriş yapılabiliyor mu? (`/login`)
- [ ] Varsayılan admin şifresi değiştirildi mi?
- [ ] İş ilanı oluşturulabiliyor mu?
- [ ] Başvuru formu çalışıyor mu?
- [ ] CV yükleme çalışıyor mu?
- [ ] E-posta bildirimleri gidiyor mu? (Ayarlar → Test E-postası)
- [ ] Queue worker çalışıyor mu? (`php artisan queue:monitor`)
- [ ] SSL sertifikası aktif mi? (https:// ile açılıyor mu?)
- [ ] `APP_DEBUG=false` olduğu doğrulandı mı?
- [ ] Storage symlink oluşturuldu mu? (Logo/favicon görünüyor mu?)
- [ ] Backup alındı mı? (Admin → Ayarlar → Yedek Al)
- [ ] Google Calendar entegrasyonu test edildi mi? (Admin → Ayarlar → Google Calendar → Test Et)
