المشكلة
Print Factory مطبعة في كوزنسا جنوب إيطاليا، تطبع على الملابس لعملاء المحل والعملاء عبر الإنترنت والمتاجر الشريكة. وكانت الطلبات تصل من اتجاهات كثيرة، واحتاج المحل وقسم الإنتاج والشركاء جميعًا إلى العمل على البيانات نفسها.
ما الذي بنيته
بنيتُ منصة PHP مخصصة: موقع عام، ومتجر إلكتروني، ولوحة إدارة، وواجهة برمجية للشركاء.
- واجهة برمجية لطلبات الشركاء — ترسل المتاجر الخارجية، وأولها InCattedra، طلباتها بمفتاح خاص. ولكل شريك بيئة اختبار وحد للطلبات وقائمة عناوين IP مسموح بها، ولا يرى إلا طلباته؛ والطلب المرسل مرتين لا يتكرر.
- إشعارات webhook موقّعة بالحالة — كل تغيير في الحالة يعود إلى الشريك موقّعًا بـHMAC-SHA256، ويُعاد إرساله بعد 1 ث و5 ث و30 ث و5 دقائق و30 دقيقة إذا فشل التسليم.
- أداة تخصيص إلكترونية — يختار العملاء القطعة واللون والمقاس، ويرفعون تصميمًا أو يعيدون فتح مشروع محفوظ من منطقة تصاميمهم الشخصية.
- استوديو صور بالذكاء الاصطناعي — أدوات لإنشاء الصور وتحريرها بنماذج OpenAI وReplicate، تبقى خاصة بحساب العميل.
- شاشة قسم الإنتاج — عرض على جهاز لوحي يسرد كل خطوة على كل آلة تنفيذها، موسومة بالقسم والأولوية والشخص المسؤول، ليعرف الموظفون ما عليهم فعله تاليًا.
- أوامر العمل وإتمام الطلب — أوامر عمل بخط زمني وأوراق PDF، وإتمام الطلب عبر PayPal أو التحويل البنكي أو الدفع عند الاستلام.
- تقارير حقوق الملكية — يحصل الشركاء الذين تبيع Print Factory تصاميمهم على رابط خاص بمبيعاتهم وحقوقهم، دون أي بيانات للعملاء.
التقنيات المستخدمة
PHP 8.3 مكتوبة من الصفر على Apache، وطابور يعمل بالمهام المجدولة لطلبات الشركاء والرسائل البريدية، وواجهات OpenAI وAnthropic وReplicate البرمجية.
لماذا بهذه الطريقة
تحتاج طباعة DTF إلى خلفية شفافة حقيقية. فملف PNG يبدو مقصوصًا لكنه مدموج على خلفية بيضاء يُطبع مستطيلًا باهتًا على قميص داكن. لذا تفحص المنصة كل ملف، وتنظف الهالة الفاتحة حول الحواف، وتعرض التصميم على لون القطعة الحقيقي قبل إرساله إلى الطباعة.


