Proje: OkulUp · Hub: OkulUp — Domain

Ödev Sistemi

Önemli: Default kapalı feature (mobileConfig.features.assignments === true gerekiyor).

Statüsler

Assignment Status

draftpublishedclosed

Submission Status

pendingsubmitted | latereviewed

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

  1. Draft oluştur → POST /api/assignments
  2. Publish et → POST /api/assignments/:id/publish
  3. Submission’ları gör → GET /api/assignments/:id/submissions
  4. Review/notlandır → POST /api/assignments/:id/review ({ student_id, grade, feedback })
  5. 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: useSendMessage ve 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_submit gibi backend computed flags’lar gerçek erişimi belirliyor