مزامنة تلقائية بين متجرك ومورّدك — بلا إعادة إدخال ولا منتج معروض وهو غير متوفر
المشكلة: التاجر يستلم قوائم المورّد ويعيد إدخالها يدوياً. فتتأخر الأسعار عن الواقع، ويبقى منتج معروضاً بعد نفاده، ولا أحد ينتبه إلا بعد شكوى زبون. ما بنيته: وحدة مزامنة تعمل تلقائياً كل يوم — تجلب موجز المورّد عبر HTTP،...
المشكلة: التاجر يستلم قوائم المورّد ويعيد إدخالها يدوياً. فتتأخر الأسعار عن الواقع، ويبقى منتج معروضاً بعد نفاده، ولا أحد ينتبه إلا بعد شكوى زبون.
ما بنيته: وحدة مزامنة تعمل تلقائياً كل يوم — تجلب موجز المورّد عبر HTTP، تقارنه بحالة متجرك، وتكشف أربع حالات: منتج جديد، تغيّر سعر، تغيّر مخزون، واختفاء من الموجز.
النتيجة كما تظهر للتاجر — من تشغيلة فعلية:
«في آخر مزامنة: 2 منتج جديد، 3 تغيّر سعره، 1 نفد مخزونه، 1 اختفى.»
والتفاصيل: ياسمين الليل 289 ← 305، وردة الطائف 210 ← 189، مسك الفجر 180 ← 165.
القرار الأهم في التصميم: المنتج الذي يختفي من الموجز يُوسم ولا يُحذف أبداً. موجز مورّد تالف واحد كافٍ لمحو كتالوج متجر بالكامل — لذلك يُرفض الموجز الفارغ أو التالف قبل أي مقارنة، ولا تُكتب حرفاً واحداً في قاعدة البيانات. هذا مغطّى بسبعة اختبارات مخصصة.
شاهد تقريراً حياً: <رابط التقرير>
التقنيات: TypeScript، Cloudflare Workers، D1، مهام مجدولة (Cron)، تصميم متعدد المستأجرين
18 اختبار وحدة لمنطق المقارنة وحده، ضمن 93 اختباراً و65 فحص متصفح للنظام كاملاً.
لا يوجد تقييم مرتبط بهذا العمل حالياً، لكن يمكنك مراجعة تقييم المستقل من ملفه الكامل.