Ubuntu Bags: متجر ثابت بواجهة إدارة منفصلة
متجر إلكتروني لحقائب فاخرة: كتالوج منتجات، سلة، قائمة رغبات، تقييمات، ومحتوى تعريفي عن الحرفيين، مع لوحة إدارة وباك إند مستقل.
Next.js 14Laravel 12FilamentStripe

السياق
المتجر الصغير لا يملك فريق تشغيل. إذا كان عرض المنتجات يعتمد على استدعاء API عند كل زيارة، فأي عطل في الباك إند يصبح متجراً فارغاً أمام الزبون. المطلوب واجهة تصمد حتى لو تعطّلت الخدمة خلفها.
النطاق الذي أعرضه علناً
- واجهة Next.js تُصدَّر ثابتة وتقرأ من ملف كتالوج مولّد وقت البناء، لا من استدعاء عند كل زيارة.
- باك إند Laravel 12 يملك المنتجات والطلبات والتقييمات وقوائم الرغبات والحسابات، مع لوحة Filament للإدارة.
- خدمة Node منفصلة لتكامل Stripe، معزولة عن الباك إند وعن الواجهة.
- سلّم احتياطي صريح في سكربت جلب الكتالوج: API الحيّ، ثم آخر ملف مولّد محفوظ مع تحذير، ثم إفشال البناء بصوت عالٍ إن لم يوجد أي منهما.
قرارات ومقايضات
- الكتالوج يُجلب وقت البناء لا وقت الزيارة، ففصل توفّر المتجر عن توفّر الـAPI.
- إفشال البناء بدل نشر كتالوج فارغ: متجر بلا منتجات أسوأ من نشرة فاشلة، والخطأ الصامت هو ما يجب منعه.
- المدفوعات في خدمة خاصة بها، فمنطق الدفع لا يختلط بمنطق الكتالوج ولا بلوحة الإدارة.
- Filament للإدارة فقط، وNext.js لتجربة الزبون: كل واجهة تخدم مستخدماً مختلفاً بأدوات مناسبة له.
- المقايضة: كل تغيير في المنتجات يحتاج إعادة بناء ونشر بدل ظهوره فوراً.
لا أعرض رابطاً عاماً لهذا المشروع لأن النطاق غير متاح للفحص وقت كتابة هذه الصفحة. الدليل المعروض هنا وصف تقني لبنية بنيتها ونشرتها، لا رابط لا يمكنك التحقق منه.
إفصاح: لا أنشر أرقام مبيعات ولا عدد طلبات ولا معدلات تحويل.
