# Bes-Web Package Structure

Bu dokuman `D:\Bes-Soft\bessoft-web` altindaki local test ve hosting tasima paket yapisini tanimlar.

## Ana Klasorler

```txt
D:\Bes-Soft\bessoft-web\
+-- secrets-package\
+-- installer-package\
+-- release\
+-- docs\
+-- README.md
```

## secrets-package

Hostingde public root disina acilacak zip kaynagidir.

Hedef zip adi:

```txt
bes-web-secrets.zip
```

Zip icindeki hedef agac:

```txt
secrets/
+-- bes-web/
    +-- db_secrets.php
    +-- app_secrets.php
    +-- bootstrap.env.php
    +-- .htaccess
    +-- README.md
```

Kurallar:

- Gercek sifre local paket icinde tutulmaz.
- Installer basarili DB testi sonrasi `db_secrets.php` dosyasini guncelleyebilir.
- Hostingde onerilen hedef: `/home/bessoftc/secrets/bes-web`.

## installer-package

Domainin gosterdigi public klasore acilacak zip kaynagidir.

Hedef zip adi:

```txt
bes-web-installer.zip
```

Zip icindeki hedef agac:

```txt
install/
+-- install.php
+-- bootstrap.php
+-- src/
    +-- RequirementStep.php
+-- views/
+-- steps/
+-- database/
    +-- master/
    +-- tenant/
+-- assets/
    +-- install.css
+-- logs/
```

Kurallar:

- Browser giris noktasi `install/install.php` olur.
- Installer, secrets klasoru yolunu kullanicidan ister.
- Ilk surum DB testi ve secret yazimini yapar.
- Master schema, super admin, tenant, demo site ve install lock adimlari baglidir.

## release

Uretilen zip dosyalari bu klasore konur.

Beklenen ciktilar:

```txt
release/
+-- bes-web-secrets.zip
+-- bes-web-installer.zip
```

Not:

- `release` klasoru kaynak degil, cikti klasorudur.
- Zip uretimi Asama 13 kapsaminda yapilacaktir.

## docs

Paketleme ve kurulum notlari burada tutulur.

Dosyalar:

```txt
docs/package-structure.md
docs/local-test.md
```

## Dosya Secim Kurali

Installer zip icine alinacaklar:

- `installer-package/install/install.php`
- `installer-package/install/bootstrap.php`
- `installer-package/install/src/`
- `installer-package/install/views/`
- `installer-package/install/steps/`
- `installer-package/install/database/master/*.sql`
- `installer-package/install/database/tenant/*.sql`
- `installer-package/install/assets/install.css`
- `installer-package/install/logs/` bos klasor olarak

Secrets zip icine alinacaklar:

- `secrets-package/secrets/bes-web/db_secrets.php`
- `secrets-package/secrets/bes-web/app_secrets.php`
- `secrets-package/secrets/bes-web/bootstrap.env.php`
- `secrets-package/secrets/bes-web/.htaccess`
- `secrets-package/secrets/bes-web/README.md`

Zip icine alinmayacaklar:

- `Bes-Web/yapilanlar.md`
- `Bes-Web/bmp.md`
- `Bes-Web/header-nav-footer.md`
- `Bes-Web/JSON-yorumlayici.md`
- local backup klasorleri
- IDE dosyalari
- gercek sifre iceren dosyalar

## Asama 2 Durumu

Tamamlandi:

- Ana paket klasorleri netlesti.
- `release` ve `docs` klasorleri olusturuldu.
- Zip kaynak klasorleri ayrildi.
- Dosya secim kurali yazildi.

Sonraki asama:

- Asama 3: secrets package dosyalarini installer tarafindan yazilabilir ve hosting uyumlu hale getirme.
