Commission System
A Laravel-based task assignment and workflow management platform for educational institutions. Content production, review assignments, file management, and typesetting processes — all managed from a single panel with role-based access control.
Main purpose
The Commission System streamlines the entire content lifecycle for educational teams. Coordinators create task batches, assign teachers to produce content, distribute review tasks to peers, track revisions, and hand off approved materials to the typesetting team. Every step is logged, every file is stored securely, and every user sees only what they need to see based on their role, institution, and department.
Why use this platform?
- Replace scattered email threads and spreadsheets with a centralized task management system
- Four distinct workflow types handle everything from full content production to simple file archiving
- Balanced assignment algorithm distributes review tasks evenly across available reviewers
- Role-based access control with five permission levels — from super admin to teacher
- Institution and department scoping ensures users only see their own work
- Secure file storage with per-file access control — files are revealed to the right people at the right stage
- Real-time notification system keeps everyone informed of new assignments, uploads, and completions
- Deadline tracking with automated reminder system (configurable time and advance notice)
- Full audit trail: every upload, assignment, and status change is recorded
- Lightweight deployment: SQLite database, no external dependencies beyond Laravel
Core features
Role-Based Access Control
Five distinct roles define what each user can do:
| Role | Permissions |
| Super Admin | Full system access: manage institutions, departments, users, and all workflows |
| Institution Admin | Manage users and departments within their institution |
| Coordinator | Create task batches, assign teachers and reviewers, track progress, manage files |
| Teacher | View assigned tasks, upload files (initial, review, revised final), track review status |
| Typesetter | Receive approved content, upload merged PDFs, manage layout packages |
Workflow Types
Four workflow types cover different production scenarios:
| Workflow | Description |
| Full Content Flow | Teacher prepares content, reviews are completed, revised file is sent to typesetting |
| Direct Review Flow | An existing file is sent directly for review. Teacher production step is optional |
| Layout Review Flow | File from the typesetting team is opened for review, with optional consolidation step |
| Standalone File | Simple file upload, archival, and sharing — no production or review workflow |
Task Batch Management
Coordinators create task batches to group related work. Each batch includes:
- Title and description
- Target institution and department
- Deadline date with configurable advance warning (default: 2 days before)
- Entry stage selection (authoring, content review, revision, layout merge, layout review, consolidation)
- Workflow type selection
- Source file upload
Teacher Task Lifecycle
Each teacher task progresses through a defined status pipeline:
- Assigned: Task is created and assigned to a teacher
- In Progress: Teacher has started working
- Initial Uploaded: Teacher uploads the first draft
- Review Assigned: Review tasks are distributed to peer reviewers
- Review In Progress: Reviewers are actively working
- Review Completed: All reviews are submitted
- Revised Uploaded: Teacher uploads the revised version incorporating feedback
- Ready for Typesetting: Content is approved and ready for layout
- Typesetting In Progress: Typesetter is working on the layout
- Completed: Final product is delivered
Balanced Assignment Algorithm
The BalancedAssignmentSelectorService ensures review tasks are distributed fairly:
- Tracks each reviewer's current workload
- Excludes teachers from reviewing their own work
- Filters by department and institution membership
- Selects the least-loaded eligible reviewers
- Configurable reviewer pool size per task
File Management
Secure, role-aware file storage with support for multiple file types:
- Supported formats: PPTX, PDF, XLSX, DOCX, HTML, and other files
- File categories: Initial draft, review file, revised final, source file, feedback file, consolidated review, merged PDF
- Access control: Files are stored in a private directory structure organized by institution and department
- Upload limits: Configurable maximum upload size (default: 200 MB)
- Download tracking: Every file download is served through a controlled endpoint
Notification System
Event-driven notifications keep the team informed:
- Task assignment notifications (teacher and reviewer)
- File upload notifications (initial, review, revised final)
- Review completion notifications
- Consolidator assignment notifications
- Insufficient reviewer pool alerts
- Deadline reminders (configurable time, runs daily)
- Database notifications with in-app notification center
Institution & Department Management
Hierarchical organization structure:
- Institutions: Top-level organizational units (e.g., school districts, departments)
- Departments: Sub-units within institutions (e.g., subject groups, zümre)
- Memberships: Users are linked to institutions/departments with specific roles
- Scoping: All queries are automatically scoped to the user's institution and department
How the platform works
- Setup: Admin creates institutions, departments, and user accounts. Each user is assigned a role and linked to an institution/department.
- Task Creation: Coordinator creates a task batch with title, deadline, workflow type, and entry stage. Source files can be attached.
- Teacher Assignment: Teachers are assigned to the batch. They receive notifications and see tasks in their "My Tasks" dashboard.
- Content Production: Teachers upload initial drafts. The system tracks upload timestamps and file versions.
- Review Distribution: The balanced assignment algorithm selects reviewers from the same department, excluding the author. Reviewers receive notifications.
- Review Process: Reviewers upload feedback files. The coordinator monitors progress from the dashboard.
- Revision: Teacher reviews feedback and uploads a revised final version.
- Typesetting: Approved content is handed off to the typesetting team. Typesetters upload merged PDFs.
- Completion: Final product is marked as completed. All files are archived in the file library.
Admin pages and features
Dashboard
Overview of active task batches, teacher tasks, direct review items, and layout packages. Metric cards show counts by status. Quick access to all management sections.
My Tasks
Personal task list for the logged-in user. Shows assigned teacher tasks, review assignments, and typesetting tasks with status badges and deadline indicators.
Task Batches
Create, view, and manage task batches. Each batch shows its teacher tasks, source files, and overall progress. Coordinators can create new batches with full configuration.
Teacher Tasks
Detailed view of individual teacher tasks: status timeline, uploaded files, review assignments, and reviewer feedback. Coordinators can delete or reassign tasks.
Direct Review Items
Manage items that skip the teacher production step and go directly to review. Upload source files, assign reviewers, track review progress, and upload consolidated feedback.
Layout Packages
Manage typesetting workflows. Group teacher tasks into layout packages, assign consolidators, track review assignments, and upload merged PDFs.
User Management
Create and manage user accounts. Assign roles (super admin, institution admin, coordinator, teacher, typesetter). Update memberships and department assignments.
Directory Management
Manage the institution and department hierarchy. Create, edit, and delete institutions and departments. All task data is scoped to these organizational units.
File Library
Centralized file browser showing all uploaded files across the system. Filter by institution, department, and file type. Secure download endpoints with access control.
Notifications
In-app notification center. Mark notifications as read. Each notification includes action links to the relevant task or file.
Technical architecture
Framework & Stack
- Laravel 12 — PHP framework with expressive syntax
- SQLite — Lightweight, file-based database (production-ready for this scale)
- Blade Templates — Server-side rendering with Tailwind CSS
- Laravel Breeze — Authentication scaffolding with email verification
- Event-Driven Architecture — 12 domain events with corresponding listeners
- Policy-Based Authorization — Granular access control per resource
Key Services
BalancedAssignmentSelectorService — Fair reviewer distribution
CommissionScopeService — Institution/department query scoping
ConsolidatorAssignmentService — Consolidator selection for layout packages
DirectReviewWorkflowService — Direct review lifecycle management
LayoutPackageWorkflowService — Typesetting workflow orchestration
TeacherTaskWorkflowService — Teacher task state machine
FileUploadService — Secure file handling with path generation
NotificationDispatchService — Event-to-notification routing
WorkflowStateService — Cross-workflow state transitions
Data Model
users — User accounts with authentication
institutions — Top-level organizational units
departments — Sub-units within institutions
institution_user_memberships — User-to-institution/department role mappings
task_batches — Grouped task containers with deadlines and workflow types
teacher_tasks — Individual teacher assignments with status tracking
teacher_task_review_assignments — Reviewer assignments per teacher task
direct_review_items — Items that bypass teacher production
direct_review_review_assignments — Reviewer assignments for direct review
layout_packages — Typesetting containers grouping multiple tasks
layout_package_items — Individual tasks within a layout package
layout_package_review_assignments — Review assignments for layout packages
layout_package_consolidations — Consolidator assignments and merged files
files — Polymorphic file records with type categorization
notifications — In-app notification records
Security Features
- Policy-based authorization on every resource
- Institution and department scoping prevents cross-organization data leakage
- File paths are generated server-side — users cannot guess or access other files
- Downloads are served through controlled endpoints with permission checks
- CSRF protection on all forms
- Password confirmation for sensitive actions
- Email verification for new accounts
- Registration can be disabled in production (
COMMISSION_ALLOW_REGISTRATION=false)
Scheduled tasks
- Deadline Reminders: Daily at configured time (default: 09:00). Notifies users about tasks due within the configured advance period (default: 2 days).
Deployment
Server Setup
- Docker container with PHP-FPM
- Nginx reverse proxy serving at
/task subpath
- SQLite database in shared volume for persistence
- Session and cache use file-based drivers (no Redis required)
- Mail driver set to log (notifications are database-only)
Configuration
COMMISSION_ALLOW_REGISTRATION — Toggle public registration (default: false)
COMMISSION_FILES_DISK — File storage disk (default: local)
COMMISSION_FILES_BASE_DIRECTORY — Root directory for file storage
COMMISSION_DEFAULT_UPLOAD_LIMIT_MB — Maximum upload size (default: 200)
COMMISSION_ASSIGNMENT_RECENT_DAYS — Lookback period for assignment history (default: 30)
COMMISSION_DEADLINE_DAYS_BEFORE — Advance warning for deadline reminders (default: 2)
COMMISSION_DEADLINE_REMINDER_TIME — Daily reminder time (default: 09:00)
Recommended usage flow
- Deploy the Docker container and run the bootstrap command to create the first institution, department, and admin account.
- Create additional user accounts through the admin panel (registration is disabled in production).
- Set up institutions and departments to match your organizational structure.
- Coordinators create task batches with appropriate workflow types and deadlines.
- Teachers receive notifications and begin working on assigned tasks.
- Reviewers are automatically assigned using the balanced algorithm.
- Monitor progress from the dashboard and file library.
- Approved content is handed off to the typesetting team for final production.
Use cases
- Educational Institutions: Manage curriculum development workflows where teachers create content, peers review it, and the final version is typeset for publication.
- Publishing Teams: Coordinate multi-stage content production with clear handoffs between authors, reviewers, and typesetters.
- Quality Assurance: Track review cycles, ensure every piece of content goes through the required approval steps, and maintain an audit trail.
- File Archival: Use the standalone file workflow to upload, categorize, and share documents without a full production workflow.
Why this platform is valuable
- End-to-End Workflow: From initial draft to final typeset product — every step is tracked and managed in one place.
- Fair Task Distribution: The balanced assignment algorithm prevents reviewer overload and ensures equitable workload distribution.
- Secure by Design: Role-based access, institution scoping, and controlled file access prevent unauthorized data exposure.
- Flexible Workflows: Four workflow types handle everything from full production cycles to simple file sharing.
- Lightweight: SQLite database, no external service dependencies, minimal server requirements.
- Audit-Ready: Every action is logged, every file version is tracked, every assignment is recorded.
- Configurable: Deadline reminders, upload limits, assignment history window — all adjustable via environment variables.
Package note: This readme describes the Commission System (Görevlendirme Sistemi) as deployed at diginapps.com/task. All features listed are functional and in production use. The platform is built with Laravel 12 and uses SQLite for data storage.
Commission System — Task Assignment & Workflow Management