azaharizaman/nexus-manufacturing-operations

Production-ready orchestrator for manufacturing operations - coordinates production lifecycles, BOM reconciliation, costing, quality control, and work center management across multiple user groups

Maintainers

Package info

github.com/azaharizaman/nexus-manufacturing-operations

pkg:composer/azaharizaman/nexus-manufacturing-operations

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v0.1.0-alpha1 2026-05-05 02:28 UTC

This package is auto-updated.

Last update: 2026-05-05 03:33:01 UTC


README

Production-ready orchestrator for manufacturing operations. Coordinates production lifecycles, BOM reconciliation, costing, quality control, and work center management.

Features

  • Production Planning: Create planned orders with BOM validation and cost estimation.
  • Order Release: Automatic stock availability checks and reservation.
  • Production Execution: Track progress and consume materials.
  • Quality Integration: Enforce quality inspections before completion.
  • Completion & Costing: Receive finished goods and record actual costs.

Architecture

This package follows the Nexus Architecture Layer 2 (Orchestrator) pattern. It defines its own required interfaces (Providers) in src/Contracts/Providers/.

Interfaces

  • ManufacturingProviderInterface: Work Order and Operation management.
  • BomProviderInterface: BOM explosion and validation.
  • InventoryProviderInterface: Stock checks, reservations, issues, and receipts.
  • QualityProviderInterface: Inspection management and compliance.
  • CostingProviderInterface: Cost estimation and recording (material, labor, overhead).

Usage

use Nexus\ManufacturingOperations\Services\ManufacturingOrchestrator;
use Nexus\ManufacturingOperations\DTOs\ProductionOrderRequest;

// 1. Plan Production
$request = new ProductionOrderRequest(
    productId: 'P-100',
    quantity: 50.0,
    dueDate: new \DateTimeImmutable('+2 weeks')
);
$order = $orchestrator->planProduction($tenantId, $request);

// 2. Release Order (Reserves Stock)
$releasedOrder = $orchestrator->releaseOrder($tenantId, $order->id);

// 3. Complete Order (Check Quality, Issue Stock, Receive Goods)
$completedOrder = $orchestrator->completeOrder($tenantId, $releasedOrder->id);

Testing

Run tests from the project root:

vendor/bin/phpunit orchestrators/ManufacturingOperations/tests