Proje: Okul B2B App · Hub: Okul B2B App — Domain

Dashboard İstatistikleri

Ana sayfa (index tab) iki bölümden oluşur: İstatistik kartları + Son başvurular.

İstatistik Kartları (DashboardStats)

IDLabeliconKeyAçıklama
1GörüntülemeviewWeb/mobil toplam görüntüleme
2Bilgi TalebileadsToplam lead sayısı
3KayıtregistrationKayıt olan öğrenci sayısı
4Yıllık Yatırım GetirisirevenueToplam yıllık gelir (TL)

API Endpoint

GET /customer/statistics?school_id={id}

StatsService.getStats(schoolId?) ile çekilir. 5 dakika cache’lenir.

Lead Sayısı Doğruluğu

DashboardStats içindeki lead count, istatistik API yerine LeadsService.getLeads(1, 1, schoolId) ile totalCount alınarak daha doğru hale getirilir. Birden fazla okul için aggregate API değeri kullanılır.

Son Başvurular

LeadsService.getRecentLeads(selectedSchoolId) → ilk 5 başvuru.

Ana sayfada lead detayı LeadDetailModal ile açılır (navigation yapmadan).

Meeting Status Kategorileri

Lead listesinde durum badge’i için üç kategori:

KategoriRenkStatüler
successYeşilBursluluk kaydı alındı, Randevu verildi, Kayıt gerçekleşti
neutralMaviBursluluk için görüşüldü, Ulaşılamadı, Düşünme aşamasında, vs.
rejectKırmızıAnlaşma gerçekleşmedi

Refresh

RefreshControl ile pull-to-refresh desteklenir. trackDashboardEvent('refresh_stats') analytics event’i tetiklenir.