Proje: OkulUp · Hub: OkulUp — Domain

Okul Kayıt (Enrollment) Akışı

Veli Onboarding Akışı

Yeni kayıt olan bir veli henüz bir okula bağlı değil. Onboarding akışı:

  1. Kayıt/Giriş (register veya login)
  2. getMe() sonucu user.school_id = null ise → enrollment akışına yönlendir
  3. Okul arama: searchSchools({ search, per_page })GET /api/schools
  4. Okul seçimi → createEnrollmentRequest(schoolId)POST /api/school-enrollment-requests
  5. Talep pending statüsünde oluşur
  6. Admin/manager talebi onaylar → kullanıcı school_id alır
  7. Onay sync’i: getMyEnrollmentRequest()GET /api/school-enrollment-requests/me

Talep Statüsleri

  • pending — beklemede
  • approved — onaylandı (user artık okula bağlı)
  • rejected — reddedildi

Servis Fonksiyonları

searchSchools(params: { search?, per_page? })  → PaginatedResponse<School>
createEnrollmentRequest(schoolId)              → EnrollmentRequest
getMyEnrollmentRequest()                       → EnrollmentRequest | null

Frontend Lokasyonu

Onboarding bileşenleri: src/components/modules/onboarding/ Screen akışı: app/(auth)/ veya ayrı onboarding route

Önemli Notlar

  • Bir kullanıcı sadece bir okula bağlanabilir
  • Enrollment bekleme süresinde kullanıcı uygulamayı kullanamaz (kısıtlı erişim)
  • Admin approval otomatik değil — manuel onay gerekiyor