Komisyon Sistemi
Eğitim kurumları için Laravel tabanlı görevlendirme ve iş akışı yönetim platformu. İçerik üretimi, inceleme görevlendirmesi, dosya yönetimi ve dizgi süreçleri — rol tabanlı erişim kontrolü ile tek panelden yönetilir.
Ana amaç
Komisyon Sistemi, eğitim ekipleri için tüm içerik yaşam döngüsünü kolaylaştırır. Koordinatörler görev partileri oluşturur, öğretmenleri içerik üretmek üzere görevlendirir, inceleme görevlerini akranlara dağıtır, revizyonları takip eder ve onaylanmış materyalleri dizgi ekibine devreder. Her adım kayıt altına alınır, her dosya güvenli şekilde saklanır ve her kullanıcı rolüne, kurumuna ve zümresine göre yalnızca görmesi gerekenleri görür.
Neden bu platformu kullanmalısınız?
- Dağınık e-posta zincirlerini ve elektronik tabloları merkezi bir görev yönetim sistemi ile değiştirin
- Dört farklı iş akışı türü, tam içerik üretiminden basit dosya arşivlemeye kadar her senaryoyu kapsar
- Dengeli görev dağılımı algoritması, inceleme görevlerini mevcut incelemeciler arasında eşit şekilde dağıtır
- Beş izin seviyesi ile rol tabanlı erişim kontrolü — süper adminden öğretmene
- Kurum ve zümre kapsamı, kullanıcıların yalnızca kendi işlerini görmesini sağlar
- Dosya başına erişim kontrolü ile güvenli dosya depolama — dosyalar doğru aşamada doğru kişilere açılır
- Gerçek zamanlı bildirim sistemi, herkesi yeni görevlendirmeler, yüklemeler ve tamamlamalar hakkında bilgilendirir
- Yapılandırılabilir hatırlatma sistemi ile son tarih takibi (varsayılan: 2 gün önceden uyarı)
- Tam denetim izi: her yükleme, görevlendirme ve durum değişikliği kaydedilir
- Hafif dağıtım: SQLite veritabanı, Laravel dışında harici bağımlılık yok
Temel özellikler
Rol Tabanlı Erişim Kontrolü
Beş farklı rol, her kullanıcının neler yapabileceğini tanımlar:
| Rol | İzinler |
| Süper Admin | Tam sistem erişimi: kurumları, zümreleri, kullanıcıları ve tüm iş akışlarını yönetir |
| Kurum Yöneticisi | Kendi kurumundaki kullanıcıları ve zümreleri yönetir |
| Koordinatör | Görev partileri oluşturur, öğretmen ve incelemeci atar, ilerlemeyi takip eder, dosyaları yönetir |
| Öğretmen | Atanan görevleri görüntüler, dosya yükler (ilk, inceleme, revize), inceleme durumlarını takip eder |
| Dizgici | Onaylanmış içeriği alır, birleştirilmiş PDF'leri yükler, dizgi paketlerini yönetir |
İş Akışı Türleri
Dört iş akışı türü farklı üretim senaryolarını kapsar:
| İş Akışı | Açıklama |
| Tam içerik süreci | Öğretmen içeriği hazırlar, incelemeler tamamlanır, revize dosya dizgi ekibine iletilir |
| Doğrudan inceleme süreci | Mevcut bir dosya doğrudan incelemeye gönderilir. Öğretmen üretim aşaması zorunlu değildir |
| Dizgi inceleme süreci | Dizgi ekibinden gelen dosya incelemeye açılır, isteğe bağlı birleştirme adımı ilerler |
| Tek dosya süreci | Basit dosya yükleme, arşivleme ve paylaşım — üretim veya inceleme iş akışı yok |
Görev Partisi Yönetimi
Koordinatörler ilgili işleri gruplamak için görev partileri oluşturur. Her parti şunları içerir:
- Başlık ve açıklama
- Hedef kurum ve zümre
- Yapılandırılabilir erken uyarı ile son tarih (varsayılan: 2 gün önce)
- Giriş aşaması seçimi (üretim, içerik inceleme, revize, dizgi birleştirme, dizgi inceleme, birleştirme)
- İş akışı türü seçimi
- Kaynak dosya yükleme
Öğretmen Görev Yaşam Döngüsü
Her öğretmen görevi tanımlanmış bir durum hattı boyunca ilerler:
- Atandı: Görev oluşturuldu ve bir öğretmene atandı
- Devam Ediyor: Öğretmen çalışmaya başladı
- İlk Yüklendi: Öğretmen ilk taslağı yükledi
- İnceleme Atandı: İnceleme görevleri akran incelemecilere dağıtıldı
- İnceleme Devam Ediyor: İncelemeciler aktif olarak çalışıyor
- İnceleme Tamamlandı: Tüm incelemeler gönderildi
- Revize Yüklendi: Öğretmen geri bildirimleri içeren revize versiyonu yükledi
- Dizgiye Hazır: İçerik onaylandı ve dizgi için hazır
- Dizgi Devam Ediyor: Dizgici düzen üzerinde çalışıyor
- Tamamlandı: Son ürün teslim edildi
Dengeli Görev Dağılımı Algoritması
BalancedAssignmentSelectorService inceleme görevlerinin adil şekilde dağıtılmasını sağlar:
- Her incelemecinin mevcut iş yükünü takip eder
- Öğretmenlerin kendi çalışmalarını incelemesini engeller
- Zümre ve kurum üyeliğine göre filtreleme yapar
- En az yüklü uygun incelemecileri seçer
- Görev başına yapılandırılabilir incelemeci havuzu boyutu
Dosya Yönetimi
Çoklu dosya türlerini destekleyen güvenli, rol bilinçli dosya depolama:
- Desteklenen formatlar: PPTX, PDF, XLSX, DOCX, HTML ve diğer dosyalar
- Dosya kategorileri: İlk taslak, inceleme dosyası, revize son, kaynak dosya, geri bildirim dosyası, birleştirilmiş inceleme, birleştirilmiş PDF
- Erişim kontrolü: Dosyalar kurum ve zümreye göre düzenlenen özel dizin yapısında saklanır
- Yükleme limitleri: Yapılandırılabilir maksimum yükleme boyutu (varsayılan: 200 MB)
- İndirme takibi: Her dosya indirmesi kontrollü bir endpoint üzerinden sunulur
Bildirim Sistemi
Olay odaklı bildirimler ekibi bilgilendirir:
- Görev atama bildirimleri (öğretmen ve incelemeci)
- Dosya yükleme bildirimleri (ilk, inceleme, revize son)
- İnceleme tamamlama bildirimleri
- Birleştirici atama bildirimleri
- Yetersiz incelemeci havuzu uyarıları
- Son tarih hatırlatmaları (yapılandırılabilir saat, günlük çalışır)
- Uygulama içi bildirim merkezi ile veritabanı bildirimleri
Kurum ve Zümre Yönetimi
Hiyerarşik organizasyon yapısı:
- Kurumlar: Üst düzey organizasyon birimleri (örn. okul bölgeleri, müdürlükler)
- Zümreler: Kurum içindeki alt birimler (örn. konu grupları, zümreler)
- Üyelikler: Kullanıcılar belirli rollerle kurumlara/zümrelere bağlanır
- Kapsam: Tüm sorgular otomatik olarak kullanıcının kurum ve zümresine göre filtrelenir
Platform nasıl çalışır?
- Kurulum: Admin kurumları, zümreleri ve kullanıcı hesaplarını oluşturur. Her kullanıcıya bir rol atanır ve bir kuruma/zümreye bağlanır.
- Görev Oluşturma: Koordinatör başlık, son tarih, iş akışı türü ve giriş aşaması ile bir görev partisi oluşturur. Kaynak dosyalar eklenebilir.
- Öğretmen Atama: Öğretmenler partiye atanır. Bildirim alırlar ve görevleri "Görevlerim" panelinde görürler.
- İçerik Üretimi: Öğretmenler ilk taslakları yükler. Sistem yükleme zaman damgalarını ve dosya sürümlerini takip eder.
- İnceleme Dağıtımı: Dengeli atama algoritması, yazar hariç aynı zümreden incelemecileri seçer. İncelemeciler bildirim alır.
- İnceleme Süreci: İncelemeciler geri bildirim dosyalarını yükler. Koordinatör panelden ilerlemeyi izler.
- Revize: Öğretmen geri bildirimleri inceler ve revize edilmiş son versiyonu yükler.
- Dizgi: Onaylanmış içerik dizgi ekibine devredilir. Dizgiciler birleştirilmiş PDF'leri yükler.
- Tamamlama: Son ürün tamamlandı olarak işaretlenir. Tüm dosyalar dosya kütüphanesinde arşivlenir.
Yönetici sayfaları ve özellikleri
Kontrol Paneli
Aktif görev partileri, öğretmen görevleri, doğrudan inceleme öğeleri ve dizgi paketlerine genel bakış. Metrik kartlar duruma göre sayıları gösterir. Tüm yönetim bölümlerine hızlı erişim.
Görevlerim
Giriş yapan kullanıcı için kişisel görev listesi. Atanan öğretmen görevlerini, inceleme atamalarını ve dizgi görevlerini durum rozetleri ve son tarih göstergeleri ile gösterir.
Görev Partileri
Görev partilerini oluşturun, görüntüleyin ve yönetin. Her parti öğretmen görevlerini, kaynak dosyalarını ve genel ilerlemeyi gösterir. Koordinatörler tam yapılandırma ile yeni partiler oluşturabilir.
Öğretmen Görevleri
Bireysel öğretmen görevlerinin detaylı görünümü: durum zaman çizelgesi, yüklenen dosyalar, inceleme atamaları ve incelemeci geri bildirimleri. Koordinatörler görevleri silebilir veya yeniden atayabilir.
Doğrudan İnceleme Öğeleri
Öğretmen üretim adımını atlayan ve doğrudan incelemeye giden öğeleri yönetin. Kaynak dosyaları yükleyin, incelemecileri atayın, inceleme ilerlemesini takip edin ve birleştirilmiş geri bildirim yükleyin.
Dizgi Paketleri
Dizgi iş akışlarını yönetin. Öğretmen görevlerini dizgi paketlerinde gruplayın, birleştiricileri atayın, inceleme atamalarını takip edin ve birleştirilmiş PDF'leri yükleyin.
Kullanıcı Yönetimi
Kullanıcı hesaplarını oluşturun ve yönetin. Rolleri atayın (süper admin, kurum yöneticisi, koordinatör, öğretmen, dizgici). Üyelikleri ve zümre atamalarını güncelleyin.
Dizin Yönetimi
Kurum ve zümre hiyerarşisini yönetin. Kurumları ve zümreleri oluşturun, düzenleyin ve silin. Tüm görev verileri bu organizasyon birimlerine göre kapsamlandırılır.
Dosya Kütüphanesi
Sistem genelinde yüklenen tüm dosyaları gösteren merkezi dosya tarayıcısı. Kurum, zümre ve dosya türüne göre filtreleyin. Erişim kontrolü ile güvenli indirme endpoint'leri.
Bildirimler
Uygulama içi bildirim merkezi. Bildirimleri okundu olarak işaretleyin. Her bildirim, ilgili görev veya dosyaya eylem bağlantıları içerir.
Teknik mimari
Çerçeve ve Yığın
- Laravel 12 — İfade zengini sözdizimine sahip PHP çerçevesi
- SQLite — Hafif, dosya tabanlı veritabanı (bu ölçek için üretim hazır)
- Blade Şablonları — Tailwind CSS ile sunucu taraflı render
- Laravel Breeze — E-posta doğrulamalı kimlik doğrulama iskelesi
- Olay Odaklı Mimari — 12 alan olayı ve karşılık gelen dinleyiciler
- Politika Tabanlı Yetkilendirme — Kaynak başına ayrıntılı erişim kontrolü
Temel Servisler
BalancedAssignmentSelectorService — Adil incelemeci dağılımı
CommissionScopeService — Kurum/zümre sorgu kapsamlandırma
ConsolidatorAssignmentService — Dizgi paketleri için birleştirici seçimi
DirectReviewWorkflowService — Doğrudan inceleme yaşam döngüsü yönetimi
LayoutPackageWorkflowService — Dizgi iş akışı orkestrasyonu
TeacherTaskWorkflowService — Öğretmen görevi durum makinesi
FileUploadService — Yol oluşturma ile güvenli dosya yönetimi
NotificationDispatchService — Olaydan bildirime yönlendirme
WorkflowStateService — İş akışları arası durum geçişleri
Veri Modeli
users — Kimlik doğrulamalı kullanıcı hesapları
institutions — Üst düzey organizasyon birimleri
departments — Kurum içindeki alt birimler
institution_user_memberships — Kullanıcı-kurum/zümre rol eşlemeleri
task_batches — Son tarihler ve iş akışı türleri ile gruplanmış görev kapsayıcıları
teacher_tasks — Durum takibi ile bireysel öğretmen atamaları
teacher_task_review_assignments — Öğretmen görevi başına incelemeci atamaları
direct_review_items — Öğretmen üretimini atlayan öğeler
direct_review_review_assignments — Doğrudan inceleme için incelemeci atamaları
layout_packages — Birden fazla görevi gruplayan dizgi kapsayıcıları
layout_package_items — Dizgi paketi içindeki bireysel görevler
layout_package_review_assignments — Dizgi paketleri için inceleme atamaları
layout_package_consolidations — Birleştirici atamaları ve birleştirilmiş dosyalar
files — Tür sınıflandırması ile polimorfik dosya kayıtları
notifications — Uygulama içi bildirim kayıtları
Güvenlik Özellikleri
- Her kaynakta politika tabanlı yetkilendirme
- Kurum ve zümre kapsamlandırma, organizasyonlar arası veri sızmasını önler
- Dosya yolları sunucu tarafında oluşturulur — kullanıcılar diğer dosyaları tahmin edemez veya erişemez
- İndirmeler izin kontrolleri ile kontrollü endpoint'ler üzerinden sunulur
- Tüm formlarda CSRF koruması
- Hassas eylemler için şifre onayı
- Yeni hesaplar için e-posta doğrulama
- Kayıt üretimde devre dışı bırakılabilir (
COMMISSION_ALLOW_REGISTRATION=false)
Zamanlanmış görevler
- Son Tarih Hatırlatmaları: Günlük yapılandırılmış saatte (varsayılan: 09:00). Kullanıcıları yapılandırılmış erken uyarı süresi içinde (varsayılan: 2 gün) son tarihi approaching görevler hakkında bilgilendirir.
Dağıtım
Sunucu Kurulumu
- PHP-FPM ile Docker konteyneri
/task alt yolunda hizmet veren Nginx ters proxy
- Kalıcılık için paylaşılan birimde SQLite veritabanı
- Oturum ve önbellek dosya tabanlı sürücüleri kullanır (Redis gerekli değil)
- Posta sürücüsü log olarak ayarlı (bildirimler yalnızca veritabanı)
Yapılandırma
COMMISSION_ALLOW_REGISTRATION — Genel kaydı aç/kapat (varsayılan: false)
COMMISSION_FILES_DISK — Dosya depolama diski (varsayılan: local)
COMMISSION_FILES_BASE_DIRECTORY — Dosya depolama için kök dizin
COMMISSION_DEFAULT_UPLOAD_LIMIT_MB — Maksimum yükleme boyutu (varsayılan: 200)
COMMISSION_ASSIGNMENT_RECENT_DAYS — Atama geçmişi için geriye dönük süre (varsayılan: 30)
COMMISSION_DEADLINE_DAYS_BEFORE — Son tarih hatırlatmaları için erken uyarı (varsayılan: 2)
COMMISSION_DEADLINE_REMINDER_TIME — Günlük hatırlatma saati (varsayılan: 09:00)
Önerilen kullanım akışı
- Docker konteynerini dağıtın ve ilk kurumu, zümreyi ve admin hesabını oluşturmak için bootstrap komutunu çalıştırın.
- Yönetici paneli aracılığıyla ek kullanıcı hesapları oluşturun (kayıt üretimde devre dışı).
- Organizasyon yapınıza uygun kurumları ve zümreleri kurun.
- Koordinatörler uygun iş akışı türleri ve son tarihlerle görev partileri oluşturur.
- Öğretmenler bildirim alır ve atanan görevlerde çalışmaya başlar.
- İncelemeciler dengeli algoritma kullanılarak otomatik olarak atanır.
- İlerlemeyi panelden ve dosya kütüphanesinden izleyin.
- Onaylanmış içerik son üretim için dizgi ekibine devredilir.
Kullanım senaryoları
- Eğitim Kurumları: Öğretmenlerin içerik oluşturduğu, akranların incelediği ve son versiyonun yayın için dizgiye gönderildiği müfredat geliştirme iş akışlarını yönetin.
- Yayın Ekipleri: Yazarlar, incelemeciler ve dizgiciler arasında net devirler ile çok aşamalı içerik üretimini koordine edin.
- Kalite Güvence: İnceleme döngülerini takip edin, her içerik parçasının gerekli onay adımlarından geçtiğinden emin olun ve denetim izi tutun.
- Dosya Arşivleme: Tam bir üretim iş akışı olmadan belge yüklemek, kategorize etmek ve paylaşmak için tek dosya iş akışını kullanın.
Bu platform neden değerli?
- Uçtan Uca İş Akışı: İlk taslaktan son dizgi ürününe — her adım tek yerde takip edilir ve yönetilir.
- Adil Görev Dağılımı: Dengeli atama algoritması, incelemeci aşırı yüklenmesini önler ve eşit iş yükü dağılımı sağlar.
- Tasarım Gereği Güvenli: Rol tabanlı erişim, kurum kapsamlandırma ve kontrollü dosya erişimi, yetkisiz veri ifşasını önler.
- Esnek İş Akışları: Dört iş akışı türü, tam üretim döngülerinden basit dosya paylaşımına kadar her şeyi yönetir.
- Hafif: SQLite veritabanı, harici servis bağımlılığı yok, minimum sunucu gereksinimleri.
- Denetime Hazır: Her eylem kaydedilir, her dosya sürümü takip edilir, her atama kayıt altına alınır.
- Yapılandırılabilir: Son tarih hatırlatmaları, yükleme limitleri, atama geçmişi penceresi — hepsi ortam değişkenleri aracılığıyla ayarlanabilir.
Paket notu: Bu kullanım kılavuzu, diginapps.com/task adresinde dağıtılan Komisyon Sistemi'ni (Görevlendirme Sistemi) açıklamaktadır. Listelenen tüm özellikler işlevseldir ve üretimde kullanılmaktadır. Platform Laravel 12 ile oluşturulmuştur ve veri depolama için SQLite kullanır.
Komisyon Sistemi — Görevlendirme ve İş Akışı Yönetimi