Proje: Okul Platform · Hub: Okul Platform — Domain
SchoolFilter Nedir?
Her okul için denormalize edilmiş arama ve filtreleme verisi. Arama motoruna (Typesense) beslenecek veri bu modelde tutulur.
SchoolFilterJob ayrı bir queue job’ı olarak çalışır — okul güncellendiğinde filter yenilenir.
SchoolFilter Alanları
school_id,campus_id,customer_id,college_idschool_type_id,sector_id,high_school_type_idlocation_level_1/2/3— İl/ilçe/mahalle IDlocation_level_1/2/3_name/slug— İl/ilçe/mahalle adı ve slugurl,thumb_url— Okul sayfası URL ve thumbnailis_customer— Ücretli müşteri milisting_priority— Listeleme önceliği (düşük = üstte, 9999 = sonlarda)map_latitude/longitude— Harita koordinatlarıgallery, comment, offer_form, page_view, phone_view, phone_call, fee_view— İstatistiklerdeal_open, deal_won, deal_lost, deal_total— CRM deal sayılarıamount_yearly, amount_range_min/max— Yıllık ücret bilgilerischolarship_count, early_registration_count— Burs/erken kayıt sayısıpy_user_id— Portföy yöneticisi kullanıcı IDpy_profile_point, py_about_quality, py_gallery_quality— Profil puan metriklerischool_churn_risk_date— Churn riski tarihihidden_lead_form/phone— Form/telefon gizlemediscount_id, discount_rate— Aktif kampanya bilgisi
Typesense’e Gönderilen Veri (toSearchableArray)
id, name, name_no_diacritics, about, mission, vision, history, created_at,
is_customer, listing_priority,
school_type_name, url, thumb_url,
location_1/2/3_name, location_1/2/3_id, location_1/2/3_slug,
college_id, college_name
Arama Endpoint’i
GET /api/search/schools — optional.auth:sanctum middleware
Controller: General\Search\SearchController (single action)
Churn Risky Liste
GET /api/admin/schools/churn-risky — Churn riski olan okullar
Related
- api-domain-model — School modeli ve ilişkileri
- api-key-integrations — Typesense entegrasyonu