azaharizaman / nexus-task
Task entity, assignment, dependencies and schedule calculation (Gantt-support). Reusable across projects, support, campaigns.
v0.1.0-alpha1
2026-05-05 02:28 UTC
Requires
- php: ^8.3
- azaharizaman/nexus-common: dev-main
- psr/log: ^3.0
Requires (Dev)
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-05-05 03:21:03 UTC
README
Task entity, assignment, dependencies, and schedule calculation (Gantt-support) for the Nexus ERP ecosystem.
Overview
The Nexus\Task package is a Layer 1 atomic package that owns task CRUD, assignees, priority, due dates, predecessor/dependency graph, acyclicity checks, and optional schedule calculation (early/late dates for Gantt). It has no concept of "project" inside the package—callers associate tasks to a project or other parent via IDs. Reusable for support tickets, campaign tasks, HR goals, and project work.
Architecture
- Layer 1 Atomic Package. Pure PHP 8.3+. No framework dependencies.
- Namespace:
Nexus\Task - Purity: No
Illuminate\*or framework-specific imports insrc/.
Key Interfaces
TaskManagerInterface– create/update task lifecycleTaskQueryInterface– read tasks by criteriaTaskPersistInterface– persistence contract (CQRS write side)DependencyGraphInterface– predecessor graph and acyclicityScheduleCalculatorInterface– early/late dates for Gantt
Requirements (mapped)
- FUN-PRO-0242/0565: Create and manage tasks with assignees and priority
- FUN-PRO-0570: Task dependencies (predecessor) and Gantt calc
- BUS-PRO-0090: Task dependencies must not create circular references
- PER-PRO-0335/0348: Task creation and Gantt rendering performance
Installation
composer require azaharizaman/nexus-task
License
MIT.