# MAGOSTORE — BURADAN BAŞLA

## Elinde iki dosya var, ikisi de gerekli

| Dosya | Ne | Nereden |
|---|---|---|
| `magostore-marketplace.zip` | Bu paket — kod, tasarım, veritabanı, dokümanlar | Ben ürettim |
| `yedek__2_.zip` | Botble uygulama dosyaları (848 MB) | Sende, kendi yedeğin |

**Neden ikisi ayrı:** uygulama dosyaları 848 MB (sıkıştırılmış 276 MB) ve
lisanslı bir ürün. Bu pakete sığmıyor ve koymam da doğru olmaz. Ama bu paketteki
her şey onun **üzerine** kuruluyor.

---

## Kurulum sırası — 6 adım

### 1 · Uygulama dosyalarını aç ve temizle

```bash
# yedek__2_.zip'i cPanel dosya yöneticisine yükle, aç
# sonra bu paketten:
bash magostore-temizlik.sh --apply      # 273 MB gereksiz dosya siler
```

### 2 · Eksik dosyaları kur ⚠ ATLANMAZ

```bash
cp 00-eksik-dosyalar/artisan                 ~/magostore/
cp 00-eksik-dosyalar/bootstrap/providers.php ~/magostore/bootstrap/
cp -r 00-eksik-dosyalar/database             ~/magostore/
chmod +x ~/magostore/artisan
```

Yedekte `artisan` **yok.** Bu dosya olmadan hiçbir `php artisan` komutu
çalışmaz. En sık kaybedilen yarım saat burası.

### 3 · Veritabanını kur

cPanel → MySQL Databases → yeni veritabanı + kullanıcı (ALL PRIVILEGES)

```bash
mysql -u KULLANICI -p VERITABANI < veritabani/magostore-kurulum.sql
```

veya phpMyAdmin → Import → `veritabani/magostore-kurulum.sql`

**169 tablo** görmelisin. Bu SQL kuruluma hazır:

- Marka tamamen Magostore
- **Tema paleti önceden girildi (17 renk)** — panelden renk girmene gerek yok
- Yazı tipi Manrope, admin paleti Magostore
- Ülke TR / İstanbul · sipariş kodu `MG-` · SKU `MG-`
- Türkiye'de işe yaramayan 9 ödeme/kargo eklentisi kapalı
- Demo İngilizce yorumlar çıkarıldı
- `ecommerce`, `marketplace`, `fob-iyzipay` **aktif**

### 4 · `.env` ve Faz 1

```bash
cp env.magostore.example ~/magostore/.env
# düzenle: DB bilgileri, APP_URL, ADMIN_DIR
php artisan key:generate
php artisan storage:link
```

Ayrıntı: `01-FAZ1-cpanel-kurulum.md` — 11 adım, PHP 8.3, document root `public/`

### 5 · Magostore kodunu kur

```bash
cp -r app/Magostore              ~/magostore/app/
cp app/Providers/*.php           ~/magostore/app/Providers/
cp app/Console/Commands/*.php    ~/magostore/app/Console/Commands/
cp -r app/Http/Controllers/Magostore ~/magostore/app/Http/Controllers/
cp database/migrations/*.php     ~/magostore/database/migrations/
cp routes/magostore.php          ~/magostore/routes/
cp -r tests/*                    ~/magostore/tests/
```

`bootstrap/providers.php` içine üç satır:
```php
App\Providers\MagostoreServiceProvider::class,
App\Providers\MagostoreAdminServiceProvider::class,
App\Providers\MagostoreStorefrontServiceProvider::class,
```

`routes/web.php` sonuna:
```php
require __DIR__ . '/magostore.php';
```

```bash
php artisan migrate          # 8 migration, 27 mg_ tablosu
php artisan test             # 65 test — neyin çalıştığını gösterir
```

### 6 · Tasarımı kur

```bash
cp tema/public/css/magostore.css  ~/magostore/platform/themes/farmart/public/css/
cp tema/functions/magostore.php   ~/magostore/platform/themes/farmart/functions/
cp -r tema/views/*                ~/magostore/platform/themes/farmart/views/
cp -r tema/partials/*             ~/magostore/platform/themes/farmart/partials/
mkdir -p ~/magostore/public/vendor/core/magostore
cp tema/admin/magostore-admin.css ~/magostore/public/vendor/core/magostore/admin.css
```

`functions/functions.php` sonuna:
```php
require __DIR__ . '/magostore.php';
```

```bash
php artisan cms:theme:assets:publish
php artisan optimize:clear
php artisan cms:user:create-super-user
```

Ayrıntı: `10-TEMA-KURULUM.md` — 7 adım (admin, satıcı, müşteri paneli)

---

## Sonra: ilk ürünü çıkar

`12-ILK-URUN-CIKIS-REHBERI.md` — 8 aşama, kutucuklu runbook.
**Aşama 2'yi atlama:** para birimi, vergi ve kargo ayarları ürünlerden önce
yapılmalı, yoksa girdiğin ürünleri yeniden girmen gerekir.

---

## Paket içeriği

```
00-BURADAN-BASLA.md      ← bu dosya
00-eksik-dosyalar/       artisan, providers.php, seeder — YEDEKTE YOK
veritabani/              magostore-kurulum.sql (kuruluma hazır, 169 tablo)

01..09                   Faz dokümanları (kurulum, iş kuralları, para, katalog)
10-TEMA-KURULUM.md       Tasarımın canlıya alınması
11-BAGIMSIZLASMA.md      Sürüm dondurma + Botble yüzeyini küçültme
12-ILK-URUN-...          ⭐ Bugünün runbook'u
13-VITRIN-OZELLIKLERI.md Botble'da olmayan 5 vitrin özelliği
14-TESTLER.md            65 test, ne koruduğu

app/                     40 PHP sınıfı (defter, hakediş, iyzico, katalog, vitrin)
database/migrations/      8 migration, 27 mg_ tablosu
tests/                   65 test metodu
tema/                    CSS, Blade, admin derisi
tasarim/                 5 ekran prototipi (tarayıcıda aç)
sifirdan/                İkinci iş: sıfırdan yazım mimarisi

magostore-rebrand.php    Marka değişim betiği (yedek dosyaları için)
magostore-temizlik.sh    273 MB temizlik
env.magostore.example    .env şablonu
komisyon-ve-kesintiler.xlsx  28 kategori komisyon tablosu
```

---

## Bilmen gereken üç şey

**Kod hiçbir çalışan sunucuda test edilmedi.** 40 sınıf, 8 migration yazıldı ve
mantıkları simülasyonla doğrulandı, ama `php artisan test` ilk çalıştırmada
bazı kırmızılar verecek — `composer dump-autoload` eksikliği, MySQL/SQLite
biçim farkı gibi. Beklenen ve düzeltmesi kolay. Hata çıktısını gönder.

**`magostore:approve-due` komutu çalışmazsa satıcılar hiç para almaz.**
iyzico kontrol panelinde ürün onayı fonksiyonu yok, onay yalnızca API'den
verilebiliyor. Cron'u kurmayı ve izlemeye almayı atlama.

**Canlıya çıkışın önündeki 6 engelin 4'ü kod dışı:** avukatla sözleşmedeki
ticari temsilci maddesi, Faz 2'deki 11 ticari karar, iyzico'dan sandbox
pazaryeri tanımı, mali müşavirle stopaj teyidi. Bunlar bugün başlatılabilir ve
başlatılmazsa kod hazır olsa da beklersin.

---

## Cron (kurulum sonrası)

```
* * * * *      php ~/magostore/artisan schedule:run
*/10 * * * *   php ~/magostore/artisan magostore:reconcile-payments
30 8 * * *     php ~/magostore/artisan magostore:sync-submerchants
0 9 * * 1-5    php ~/magostore/artisan magostore:approve-due
15 3 * * *     php ~/magostore/artisan magostore:recompute-buybox --stale=24
0 4 * * *      php ~/magostore/artisan magostore:dispatch-alerts
```
