Proje: Okul Platform · Hub: Okul Platform — Domain

Tag (Etiket)

Okullara atanan etiketler. Filtreleme ve gruplama için.

  • name, slug alanları
  • school_tags pivot tablo
  • School::tags() → BelongsToMany

Admin endpoint’i: CRUD /api/admin/tags
İzinler: VIEW/ADD/EDIT/DELETE_TAG

Facility (Tesis/Donatı)

Okullarda bulunan tesisler (spor salonu, yüzme havuzu, vs.)

  • name, description
  • ActivitySchoolType, FacilitySchoolType, ServiceSchoolType — Okul tipine özgü

General endpoint: GET /api/facilities
Admin endpoint: CRUD /api/admin/facilities

Service (Hizmet)

Okullun sunduğu hizmetler (servis, yemek, vs.)

  • name, description
  • ServiceSchoolType — Okul tipine özgü hizmetler

General endpoint: GET /api/services

LearningLanguage (Eğitim Dili)

Okulun eğitim verdiği diller (Türkçe, İngilizce, Almanca, vs.)

  • LearningLanguageSchoolType — Okul tipine göre dil

General endpoint: GET /api/learning-languages

Activity (Etkinlik/Kulüp)

Okullarda yapılan aktiviteler.

  • ActivityType ile kategorize
  • SchoolActivity — School-Activity pivot
  • ActivitySchoolType — Okul tipine göre aktivite

SchoolType (Okul Türü)

Temel okul tipi tanımları (SchoolType enum’dan farklı — model).

SchoolFeature (Özellikler)

SchoolFeatureName + SchoolFeatureValueSchoolFeature pivot Dinamik key-value özellik sistemi. Örn: “Kurul Tipi: Dönem” vs.