Proje: Okul Platform · Hub: Okul Platform — Domain
Tag (Etiket)
Okullara atanan etiketler. Filtreleme ve gruplama için.
name, slugalanlarıschool_tagspivot tabloSchool::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, descriptionActivitySchoolType, 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, descriptionServiceSchoolType— 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.
ActivityTypeile kategorizeSchoolActivity— School-Activity pivotActivitySchoolType— Okul tipine göre aktivite
SchoolType (Okul Türü)
Temel okul tipi tanımları (SchoolType enum’dan farklı — model).
SchoolFeature (Özellikler)
SchoolFeatureName + SchoolFeatureValue → SchoolFeature pivot
Dinamik key-value özellik sistemi. Örn: “Kurul Tipi: Dönem” vs.
Related
- api-domain-model — School modeli ve ilişkileri
- api-special-patterns — HasDelimiterSeparatedRelations (SchoolFeatureName’de kullanılıyor)