Proje: Okul Platform · Hub: Okul Platform — Architecture

Event/Listener Yapısı

app/Events/ → Domain event’leri
app/Listeners/ → Event’leri dinleyen handler’lar

Not: AppServiceProvider::boot()’ta Lead::observe(LeadObserver::class) şu an comment’lenmiş — aktif değil. EventServiceProvider — sadece Revision::observe(RevisionObserver::class) var.

Event Listesi

Checkout

  • CheckoutPaymentLinkRequested → Listener: SendCheckoutPaymentLinkNotification

CustomerUser (B2B)

  • CustomerUserCreatedEvent — Yeni B2B kullanıcı oluşturuldu
  • CustomerUserDeletedEvent — B2B kullanıcı silindi

Lead

  • LeadUpdatedEvent — Lead güncellendi

SchoolComment

  • SchoolCommentApprovedEvent — Yorum onaylandı
  • SchoolCommentRejectedEvent — Yorum reddedildi

User

  • CreatePasswordResetEvent → Listener: SendPasswordResetEmail

UserDetail, VerificationCode

  • Event’ler var ama listener bağlantısı explicit değil

Listener Listesi

Checkout

  • SendCheckoutPaymentLinkNotification — Ödeme linki bildirim gönder

SchoolComment

  • SchoolCommentUpdateListener — Yorum güncelleme sonrası
  • SchoolDetailListener — Okul detaylarını güncelle (yorum sayısı vs.)

SchoolFilter

  • Muhtemelen SchoolFilterJob tetikleyen listener’lar

User

  • SendPasswordResetEmail

VerificationCode

  • OTP/doğrulama kodu listener’ları

Revision Observer

RevisionObserver — Tüm Revisionable modellerde değişiklik loglanır.

CustomerIO Entegrasyonu ile İlişki

CustomerIO event dispatch’leri doğrudan job’lar üzerinden:

  • B2CService::dispatchImportUser()ImportUserJob::dispatch()
  • B2BService içinde benzer dispatch’ler