===========================================================
 YUSEN · ARAÇ TAKİP & RANDEVU SİSTEMİ   (Sürüm 1.4.8)
===========================================================

Araç takip servisindeki araçların konumunu kesintisiz toplar, kalıcı
olarak saklar ve şunları kendiliğinden hesaplar:

  - Araç hangi lokasyona (SERTUR, MACT1, MACT2, YUSEN 1A/1B DEPO
    ...) ne zaman girdi, ne zaman çıktı, içeride ne kadar kaldı
  - Nereden nereye kaç dakikada gitti (varış süresi, km)
  - Randevuya erken mi, zamanında mı, geç mi geldi; gelmedi mi
  - Randevudan sonra nereye döndü, kaç dakikada döndü
  - Günlük / haftalık / aylık raporlar, Excel çıktıları

Kimse elle işaretleme yapmaz. Lokasyonlar ve sınırları takip
panelinde tanımlı bölgelerden saatte bir kendiliğinden alınır;
haritada paneldeki sınırların aynısı çizilir. Araç bölgeye
girince adresin başında bölge adı gelir ("SERTUR - Keçiliköy
OSB ..."), giriş/çıkış bununla hesaplanır. Panelde bölge
eklerseniz, adını veya sınırını değiştirirseniz sistemde
kendiliğinden güncellenir; panelden silinen bölgenin geçmiş
kayıtları korunur. Elle güncellemek için: Lokasyonlar >
"Bölgeleri güncelle".


-----------------------------------------------------------
 GEREKEN
-----------------------------------------------------------
  - PHP 7.4 veya üzeri (8.x önerilir)
  - PHP eklentileri: pdo_sqlite, curl, mbstring
    (cPanel > Select PHP Version > Extensions)
  - Cron (zamanlanmış görev) desteği — önerilir
  Ayrı bir veritabanı (MySQL) GEREKMEZ; tüm veri tek bir
  SQLite dosyasında tutulur ve her gece yedeklenir.


-----------------------------------------------------------
 KURULUM
-----------------------------------------------------------
1) config.php dosyasını açın:
     TAKIP_KULLANICI / TAKIP_SIFRE  -> takip servisi giriş bilgileri
     TAKIP_API_ADRESI / TAKIP_WEB_ADRESI -> dokunmayın
     CRON_ANAHTARI                  -> uzun, rastgele bir metin
   (Eski sürümdeki HARITA_SIFRE artık yok; yerine kullanıcı
    adı + şifre ile giriş var.)

2) Klasörün tamamını hosting'e yükleyin (ör. public_html/filo/).
   Eski harita klasörünün yerine değil, yanına kurun;
   eskisi çalışmaya devam eder.

3) Tarayıcıdan açın:  https://siteniz.com/filo/
   İlk açılışta KURULUM sayfası gelir:
     - Gereksinimler kontrol edilir (hepsi yeşil olmalı)
     - İlk YÖNETİCİ hesabınızı oluşturursunuz
     - Cron komutu ve adresi gösterilir

4) CRON'U KURUN (önemli — veri kaybı olmaması için):
   cPanel > Cron Jobs > "Her dakika" (* * * * *):
     /usr/local/bin/php /home/KULLANICI/public_html/filo/cron.php >/dev/null 2>&1
   (Tam yol kurulum sayfasında yazar.)
   Sunucuda cron yoksa cron-job.org gibi bir hizmete her
   dakika şu adresi çağırtın:
     https://siteniz.com/filo/cron.php?anahtar=CRON_ANAHTARI
   Cron, kimse siteyi açmasa da 10 saniyede bir veri çeker.
   Ek güvence: site açık olduğu sürece site de veri çeker.

5) Kullanıcıları ekleyin: menü > Kullanıcılar.
     Yönetici : her şey (kullanıcı, lokasyon ayarı, sistem)
     Operasyon: randevu oluşturur/düzenler, not ekler
     İzleyici : yalnızca görüntüler


-----------------------------------------------------------
 İLK GÜN
-----------------------------------------------------------
  Sistem geçmişi takip servisinden değil, kurulduğu andan itibaren
  kendisi biriktirir. İlk açılışta park halindeki araçların
  "giriş saati" takibin başladığı andır (ekranda belirtilir).
  Raporlar ve ortalamalar günler geçtikçe dolar.


-----------------------------------------------------------
 VERİ DOĞRULUĞU NASIL SAĞLANIYOR
-----------------------------------------------------------
  - Gelen her konum noktası saklanır, silinmez.
    Aynı nokta iki kez gelirse tek kayıt tutulur.
  - Saatler aracın GPS saatidir; veri geç ulaşsa da olay
    doğru ana yazılır.
  - Giriş: araç bölgede en az 2 nokta ve 2 dk görülürse.
    Çıkış: bölge dışında 3 ardışık nokta veya 3 dk.
    5 dk içinde geri dönüş aynı ziyaret sayılır.
    Bu kurallar GPS sapmasını ve yan yana duran depolardan
    (YUSEN 1A / 1B, ~150 m) geçişi yanlış saymayı önler.
    Lokasyon bazında ayarlanabilir (Lokasyonlar ekranı).
  - Uzun süre veri gelmeyip aracın yer değiştirdiği durumlar
    "veri boşluğu" olarak işaretlenir (Veri Kontrolü).
  - Konum vermeyen (bozuk) araçlar haritada gösterilmez,
    Veri Kontrolü'nde ve araç listesinin altında listelenir.
  - Randevu, not ve ayar değişiklikleri kimin yaptığıyla
    birlikte denetim kaydına yazılır; notlar silinmez,
    düzenlenen notun eski hali saklanır.
  - Her gece 03:00'ten sonra veritabanı yedeklenir
    (veri/yedek/, 90 gün saklanır). Veri Kontrolü'nden elle
    de yedek alınabilir.


-----------------------------------------------------------
 GÜVENLİK
-----------------------------------------------------------
  - Takip servisi şifresi yalnızca sunucuda (config.php) durur.
  - Kullanıcı şifreleri geri döndürülemez biçimde saklanır;
    15 dk içinde 8 hatalı denemede giriş geçici olarak durur.
  - veri/ ve inc/ klasörleri .htaccess ile dışarıya kapalıdır
    (Apache/LiteSpeed). Nginx kullanıyorsanız veya Veri
    Kontrolü "veri klasörü internetten okunabiliyor" uyarısı
    verirse config.php'deki VERI_KLASORU'nu site klasörünün
    dışına taşıyın.
  - Siteyi mutlaka https ile yayınlayın.


-----------------------------------------------------------
 DOSYALAR
-----------------------------------------------------------
  index.php      Uygulama (giriş gerektirir)
  giris.php      Giriş ekranı
  kurulum.php    Kurulum ve sistem kontrolü (yönetici)
  api.php        Ekranların veri ucu
  cron.php       Arka plan veri toplayıcı
  disari.php     Excel (CSV) çıktıları
  config.php     AYARLAR
  inc/           Program kodu (motor, raporlar, veri bağlantısı)
  assets/        Görünüm, harita kütüphanesi (Leaflet), logolar
  veri/          Veritabanı, yedekler (otomatik oluşur)

  Harita kütüphanesi (Leaflet) site içinde gelir; dış
  kaynaktan yüklenmez. Harita görüntüleri Esri'den, yazı tipi
  (Lato) Google Fonts'tan gelir; kurumsal ağ bunları
  engellerse harita zemini/yazı tipi görünmeyebilir, sistem
  çalışmaya devam eder.
===========================================================
