Proje: Okul API
Okul API — Domain
Temel Modeller
- api-domain-model — School, Customer, User, Lead, Checkout, CustomerUser
- api-b2b-vs-b2c — B2B (okul sahibi) vs B2C (veli/öğrenci)
- api-school-hierarchy — Campus → College → School hiyerarşisi
- api-location-system — 3 seviyeli lokasyon (İl/İlçe/Mahalle)
Auth & Kullanıcı
- api-auth-system — Login: password, OTP, hash-login, Google
- api-auth-service-detail — Master pass, UserContact’tan arama
- api-otp-code-system — OtpCode model, hash’li kod, max_attempts
- api-otp-service-detail — IP rate limit, Cache lock, verifyOtp akışı
- api-verification-code-system — Hesap özelliği doğrulama (e-posta/telefon)
- api-verification-code-model — ATTEMPT_LIMIT=5, RESEND_LIMIT=3
- api-user-model-methods — isAdmin/isCustomer, OneSignal routing
- api-user-contact-system — email/phone tipleri, OTP duplicate check
- api-user-detail-model — UserDetail: budget, lead stats, kvkk
- api-user-registration-flow — register, logout, updateNotificationPermissions
- api-user-admin-endpoint — Full-text search, tüm filtreler
Lead Sistemi
- api-lead-flow — Lead tipleri, giriş yöntemleri, bildirim akışı
- api-lead-stages — LeadNotifier strategy pattern, bildirim stratejileri
- api-lead-stage-type-full — LeadStageType: tüm 22 stage
- api-lead-pool-system — Lead pool formu, LeadRefType, source_action
- api-lead-executor — LeadExecutor: UserHandler, SchoolInboundCallLogHandler
- api-lead-model-detail — masked_parent/student_name, scopeCustomerFilter
- api-lead-admin-includes — Admin include’lar: pipeline, stage, approvedStatus
- api-lead-admin-scope-joins — JOIN’ler: school, locations, school_filters
- api-lead-contact-resolution — getLeadContacts: CustomerUser→fallback SchoolContact
- api-lead-masking-logic — isMaskedLead: ücretli okul, limitDays, preload
- api-lead-admin-flow — Admin lead endpoint, filter parametreleri
- api-customer-lead-access — has_lead_access, limited_access_days
- api-pipedrive-integration — org_id/deal_id/pipeline_id/stage_id
- api-source-action-tracking — SourceActionType: desktop/mobile/whatsapp
B2B Portal
- api-b2b-customer-portal — B2B endpoint’leri: lead, media, yorum, içerik
- api-customer-user-model — CustomerUser + CustomerUserSchool erişim flag’leri
- api-customer-user-service — checkLeadAccess, hasPaidSchool, masking
- api-customer-user-firms — /me/firms, x-auid header, multi-tenant
- api-customer-media-permissions — SCHOOL_BASED vs CONTENT_BASED roller
- api-school-comment-customer-policy — Yorum görme + cevaplama (single-level)
Checkout & Satış
- api-checkout-flow — draft → sent → completed/cancelled
- api-checkout-discount-calculation — Strategy+Manager: monthly/yearly
- api-sales-campaign-system — percentage/x_months_y_pay/discount_code
- api-customer-agreement — Sözleşme tipleri, ürün çeşitleri, OFS
- api-customer-agreement-reject-reasons — 17 red nedeni, missing_inputs
- api-payment-system — PaymentStatus, CreditCardPayment
- api-payment-model-b2b — iyzico/paramPos, PaymentType, CIO event
- api-school-financial-roi — Yatırım getirisi hesaplama servisi
Okul Sistemi
- api-school-filter-search — SchoolFilter + Typesense index
- api-school-filter-product-flags — product_has_* bayraklar (11 adet)
- api-school-filter-update — SchoolFilterUpdateService, job/command
- api-school-profile-scoring — SchoolFilterPortfolioService puan bileşenleri
- api-school-interaction-crm — CRM etkileşim kayıtları
- api-school-fee-system — FeeTypeId, PaymentFrequency, enflasyon
- api-school-discount-system — Discount, SchoolClosedType, yönlendirme
- api-school-comment-moderation — Onay/red sistemi, puan, beğeni
- api-school-comment-public-endpoints — best-commented, latest-by-city
- api-school-comment-admin-flow — approve/reject + ActivityLog + Event
- api-school-content-types — Announcement, Achievement, Events
- api-school-metadata — Tag, Facility, Service, LearningLanguage
- api-school-admin-filters — filter parametreleri, churn-risky
- api-school-referral-url — SchoolReferral, ShortUrl, SubDomain
- api-inbound-number-system — Sonitel/Verimor sağlayıcıları
- api-whatsapp-integration — show_whatsapp_form_on_profile
- api-college-system — College, CollegeSchool, Bahçeşehir sabit ID
Ürün & İzin
- api-role-permission-system — 313 permission, 10 rol, SUPER_ADMIN bypass
- api-product-model — Ürün özellik flag’leri, PROMOTION_PRODUCT_ID
- api-product-price-model — ProductPrice: price/12=monthly, location+school_type
- api-product-usage-limits — SchoolProductLimitService, limit DTO
Config & Log
- api-config-system — Dinamik config, test verisi filtreleme
- api-activity-log-system — ActivityLogActionType + ContentType enum’ları
- api-activity-log-usage — Async dispatch, IP/userAgent, content+action
- api-analytics-scoring — SchoolDailyLog, CustomerScore, profil metrikleri
- api-webhook-key-system — Migration webhook key’leri + LogType
- api-pipedrive-note-system — B2B + admin not sistemi
- api-school-offer-model — Ham form verisi, source_action
KVKK & Onay
- api-kvkk-agreement-system — KVKK + pazarlama onayı, user_agreement_text_signs
İçerik
- api-content-modules — Article, SchoolComment, Campaign, Scholarship
- api-article-public-endpoint — Filtreleri, sıralama, editors endpoint
- api-media-system — 21 medya türü, forCustomer/forAdmin
- api-search-system — prepareSearchQuery(), optional auth
- api-search-service-detail — 3 tip arama: okul/lokasyon/kolej
Diğer
- api-b2b-call-controller — hangup/forward, AdminUserData.sonitel_agent_id
- api-calendar-appointment-system — CalendarEvent + SaleSchoolAppointment
- api-b2b-monthly-report — Aylık istatistik CIO, Artisan command
- api-extra-models — Kindergarten, ContactType, VideoRoom, YokAtlas
- api-highschool-data — HighSchoolPoint, HighSchoolType, Üniversite modülleri