Proje: OkulUp · Hub: OkulUp — Domain
Ödev Sistemi
Önemli: Default kapalı feature (mobileConfig.features.assignments === true gerekiyor).
Statüsler
Assignment Status
draft → published → closed
Submission Status
pending → submitted | late → reviewed
Veri Modeli
Assignment:
- class_id, teacher_id
- title, description, due_date
- status, submission_status (authenticated user'ın)
- can_submit, can_review, can_publish, can_parent_submit (computed flags)
- submission_counts: { pending, submitted, late, reviewed }
Akışlar
Öğretmen
- Draft oluştur →
POST /api/assignments - Publish et →
POST /api/assignments/:id/publish - Submission’ları gör →
GET /api/assignments/:id/submissions - Review/notlandır →
POST /api/assignments/:id/review({ student_id, grade, feedback }) - Kapat →
POST /api/assignments/:id/close
Öğrenci/Veli
- Ödev gönder:
POST /api/assignments/:id/submit(öğrenci) - Veli submit:
POST /api/assignments/:id/parent-submit(veli adına) - Dosya upload destekli:
useSendMessageve ayrı attachment endpoint
Filtreler
class_id, status, due_from/to, submission_status, search, sort, only_overdue
Yetki
- Görüntüleme: ALL (assignments feature açıksa)
- Oluşturma/Review: STAFF
can_submit/can_parent_submitgibi backend computed flags’lar gerçek erişimi belirliyor
Related
- permission-system — assignments.view/create/review
- mobile-config-feature-flags — assignments feature flag (default OFF)