عطور بسطاوي: متجر بثلاث لغات وطلب عبر واتساب
واجهة متجر لعلامة عطور مغربية: كتالوج، صفحات منتج، ومسار طلب ينتهي برسالة واتساب مهيّأة بدل صفحة دفع.
Next.js 14TailwindGSAPi18n

السياق
علامة صغيرة تبيع فعلياً عبر واتساب. إدخال بوابة دفع كان سيضيف رسوماً وتحقّقاً وحالات فشل لمسار بيع يشتغل أصلاً. والزبون هنا يقرأ العربية أو الدارجة أو الإنجليزية، والدارجة ليست ترجمة تلقائية للعربية.
النطاق الذي أعرضه علناً
- واجهة Next.js 14 بـ App Router، مع مسار لغة في العنوان واتجاه نصّ يُحدَّد على الخادم لكل لغة.
- ثلاثة قواميس منفصلة: العربية، الدارجة، والإنجليزية — لا لغتان مع اشتقاق.
- كتالوج منتجات مكتوب كبيانات TypeScript داخل المستودع، لا قاعدة بيانات ولا نظام إدارة محتوى.
- إتمام الطلب يجمع البيانات في المتصفح ثم يفتح رسالة واتساب مهيّأة بتفاصيل الطلب.
- مكوّن ظهور واحد قابل لإعادة الاستعمال يغلّف حركة التمرير، بدل حركة مكتوبة في كل صفحة.
- معالج مسارات للأصول يضيف بادئة النشر، لأن مُحسِّن الصور لا يطبّقها تلقائياً خلف وكيل عكسي على مسار فرعي.
قرارات ومقايضات
- لا بوابة دفع: البيع يحدث على واتساب أصلاً، والمنتج يوصل الزبون إلى هناك بدل بناء مسار دفع لا أحد طلبه.
- الدارجة كلغة كاملة لا كخيار مشتقّ من العربية.
- كتالوج داخل الكود يناسب عشرة منتجات ثابتة أكثر من نظام إدارة محتوى كامل.
- حركة واحدة معرّفة في مكوّن واحد، فالسلوك متّسق عبر الموقع ويُعدَّل من مكان واحد.
- المقايضة الصريحة: أي تعديل على المنتجات يحتاج تغييراً في الكود ونشراً — مقبول لكتالوج ثابت، ومكلف لو كبر.
نُشر المتجر وكان يمكن تصفّحه بلغاته الثلاث ومعاينة مسار الطلب حتى خطوة واتساب. ثم أُوقف العرض الحيّ، لذلك لا أعرض رابطاً عاماً: الدليل هنا وصف تقني لما بنيته، لا رابط لا يمكنك التحقق منه.
إفصاح: لا أنشر أرقام مبيعات ولا طلبات. ولا أعرض لوحة إدارة لهذا المشروع: كُتبت لها مواصفة ولم تُنفَّذ، وكان الموقع واجهة فقط.
