
عن المشروع
المتجر الإلكتروني لموزّع تونسي للتيار الضعيف والمراقبة والبث، أُعيد بناؤه من PrestaShop إلى منصة ثلاثية اللغة مخصّصة متصلة بنظام تخطيط موارد الشركة.
دوري: مطوّر full stack لمنصة الاستبدال ولتكاملها مع المكتب الخلفي.
تبيع IMC معدّات التيار الضعيف وأجهزة المراقبة والبث، وكان متجرها يعمل في الأصل على PrestaShop. كان يؤدي وظيفته، لكن كل حاجة حقيقية كانت تصطدم بالمنصة. فالعربية لم تكن تُعرض بشكل صحيح، والأسعار تُقرَّب بطريقة لا تطابق الفواتير، والطابع الجبائي يجب تذكّره لا تطبيقه. والأسوأ أن المتجر لم يكن يعرف شيئًا عن مخزون المكتب الخلفي، فكان المنتج الواحد قابلًا للبيع مرتين.
أعدت بناء الواجهة على المنصة ذات العلامة البيضاء التي كنت قد طوّرتها لعلامات تونسية أخرى، بدل الانطلاق من الصفر. فحصلت IMC على كتالوج ثلاثي اللغة بدعم فعلي للكتابة من اليمين إلى اليسار في العربية، ونموذج نقدي مخزّن بالمليم كي لا تنحرف المجاميع، والدفع عند التسليم مسارًا رئيسيًا لا خيارًا مضافًا. ويُطبَّق الطابع الجبائي على كل طلب لأنه جزء من نطاق الطلب نفسه.
أما الجزء الأهم فلا يظهر على الموقع. تُستقبل الطلبات المنجزة عبر الإنترنت مباشرة في نظام تخطيط موارد الشركة، فيتقاسم المتجر والمكتب الخلفي مستوى مخزون واحدًا وقائمة أسعار واحدة وبطاقة عميل واحدة. وصار بيع منتج ينقص المخزون نفسه الذي يعدّه المستودع. والبنية مبنية على Next.js 16 مع App Router بـTypeScript صارم، وPostgreSQL على Cloud SQL عبر Drizzle، وFirebase للمصادقة والتخزين والاستضافة.
أهم الميزات
- 🔄 ترحيل من PrestaShop: انتقل الكتالوج إلى منصة مخصّصة دون فقدان سجل المنتجات أو الظهور في البحث.
- 🔗 تكامل مباشر مع النظام: تُستقبل الطلبات الإلكترونية مباشرة في نظام الشركة، فيتقاسم المتجر والمستودع مستوى مخزون واحدًا.
- 🌍 كتالوج ثلاثي اللغة: الفرنسية والإنجليزية والعربية، مع معالجة صحيحة للاتجاه من اليمين إلى اليسار لا مجرد تقريب.
- 💵 الدفع عند التسليم أولًا: تشكّل وسيلة الدفع المحلية السائدة مسار الشراء بدل إضافتها كبديل.
- 🪙 أسعار تطابق الفاتورة: تُخزَّن المبالغ بالمليم، فما يراه العميل على الإنترنت هو ما تفوتره المحاسبة.
- 🧾 طابع جبائي آلي: يشكّل الطابع القانوني التونسي جزءًا من نطاق الطلب، فتكون كل فاتورة مطابقة دون خطوات يدوية.
- 📱 واجهة تبدأ من الهاتف: صُمّم التخطيط للهاتف، ومنه يأتي معظم زوار المتجر.
- ⚡ طبقة عرض حديثة: يحل Next.js 16 مع App Router محل طبقة قوالب PrestaShop، فيقلّ وزن الصفحات ويتحسّن زمن التحميل.
مشكلات وحلول
المشكلة: لم يتقاسم متجر PrestaShop والمكتب الخلفي البيانات، فكان المخزون المعدود في المستودع والمخزون المعروض على الإنترنت رقمين مختلفين. وكان المنتج قابلًا للبيع بعد مغادرته الرف، وكل تصحيح يفرض على شخص مقارنة شاشتين.
الحل: أزال إعادة بناء المتجر على منصة تستقبل الطلبات مباشرة في النظام هذه الفجوة تمامًا. صار للمخزون والأسعار وبطاقات العملاء مصدر واحد، وصار البيع الإلكتروني ينقص المخزون نفسه الذي يعدّه المستودع.
المشكلة: لا تعالج المنصات العالمية العامة المليم ولا الطابع الجبائي التونسي ولا تخطيط العربية معالجة صحيحة، فكان كل عنصر يُرقَّع محليًا حتى صارت الرقع هي النظام الفعلي.
الحل: صارت هذه القواعد جزءًا من نموذج المجال في المنصة الجديدة. تُخزَّن النقود بالمليم، ويطبّق الطلب نفسه الطابع الجبائي، والعربية لغة من الدرجة الأولى بتخطيط فعلي من اليمين إلى اليسار.

