System Check Sayfası Analizi

Kullanıcı cihaz ve bağlantı diagnostik sistemi

Basit Anlatım (Herkes İçin)

System Check nedir? Premium kullanıcıların cihazlarını ve internet bağlantılarını test edebileceği özel bir sayfa.

Ne işe yarar? Kullanıcı müzik dinlerken sorun yaşarsa, sorunun nereden kaynaklandığını anlayabilir:

  • İnternet yavaş mı?
  • Cihaz eski mi veya yetersiz mi?
  • Tarayıcı güncel mi?

Nasıl çalışır?

  1. Sayfa açılır açılmaz cihaz bilgileri otomatik tespit edilir
  2. Kullanıcı "Bağlantıyı Test Et" butonuna tıklar
  3. İnternet hızı, gecikme ve kararlılık ölçülür
  4. 100 üzerinden puan verilir ve öneriler sunulur

Neden önemli? Kullanıcı şikayetlerinde "Muzibu yavaş çalışıyor" denmeden önce, sorunun kullanıcının cihazından mı yoksa Muzibu'dan mı kaynaklandığı anlaşılır. Bu da destek yükünü azaltır.

Teknik Detaylar (Geliştiriciler İçin)

Dosya Yapısı

routes/web.php:569
Route::get('/system-check', ...)->middleware(['site', 'auth', 'verified'])
Modules/Muzibu/App/Http/Controllers/Front/DashboardController.php:422
systemCheck() - Premium kontrolü yapıp view döner
resources/views/themes/muzibu/system-check.blade.php
View dosyası (Alpine.js ile)
public/themes/muzibu/js/alpine-apps.js:671
window.systemCheck() fonksiyonu

Erişim Kontrolü

Middleware
  • site - Tenant kontrolü
  • auth - Giriş yapmış olmalı
  • verified - E-posta doğrulanmış olmalı
Premium Kontrolü
SubscriptionService::checkUserAccess()

status === 'unlimited' değilse dashboard'a yönlendirilir

Test Mekanizması

Bağlantı Testi

1. Hız Testi
/themes/muzibu/speed-test-payload.bin dosyası indirilir, süre ölçülerek Mbps hesaplanır.
2. Gecikme (Latency)
/api/muzibu/ping endpoint'ine 5 kez HEAD request atılır, ortalama süre alınır.
3. Kararlılık (Jitter)
Gecikme ölçümlerinin varyasyonu hesaplanır. Düşük jitter = kararlı bağlantı.

Cihaz Profili

Platform & Tarayıcı
UAParser.js kütüphanesi veya fallback ile User Agent parse edilir.
Donanım Bilgisi
navigator.deviceMemory (RAM)
navigator.hardwareConcurrency (CPU çekirdek)
Ekran & Tip
window.screen.width/height ve cihaz tipi (mobil/tablet/masaüstü)

Puanlama Sistemi (100 üzerinden)

Bağlantı Puanı

Metrik Değer Puan
Hız 50+ Mbps 40
20-50 Mbps 35
10-20 Mbps 28
< 2 Mbps 5
Gecikme ≤ 50ms 40
> 400ms 5
Kararlılık ≤ 20ms jitter 20

Cihaz Puanı

Metrik Değer Puan
RAM 8+ GB 30
4-8 GB 22
Bilinmiyor 18
CPU 8+ çekirdek 30
Tarayıcı Güncel sürüm 30
Ekran 1920+ px 10

Sonuç Durumları

good

Her iki puan ≥ 50

"Dinlemeye Hazırsınız"

connection_issue

Sadece bağlantı puanı < 50

"Bağlantınızda Sorun Var"

device_issue

Sadece cihaz puanı < 50

"Cihazınızda Kısıtlamalar Var"

both_issue

Her iki puan da < 50

"Dikkat Edilmesi Gereken Noktalar"

API Entegrasyonları

HEAD /api/muzibu/ping

Gecikme ölçümü için kullanılır. 5 kez çağrılır, ortalama alınır.

POST /api/muzibu/speed-test

Test sonuçlarını backend'e kaydeder. Non-blocking, 5sn timeout.

Payload: { download_speed, latency_ms, jitter_ms, connection: {...}, device_profile_id }
GET /themes/muzibu/speed-test-payload.bin

Download hızı testi için kullanılan statik dosya.

Potansiyel İyileştirmeler

Upload hızı testi: Şu an sadece download ölçülüyor. Upload da eklenebilir (yorum/feedback gibi özellikler için önemli).

Geçmiş sonuçlar: Kullanıcının önceki test sonuçlarını görebileceği bir grafik/timeline eklenebilir.

WebRTC ile daha doğru ölçüm: Network Information API'ye ek olarak WebRTC ICE candidates ile daha hassas latency ölçümü yapılabilir.

Otomatik test: Kullanıcı sorun yaşadığında (buffering, hata) otomatik olarak mini test çalıştırılıp sonuç kaydedilebilir.

17 Şubat 2026 • Muzibu.com