مشروع عميلنشط

Zoya Outfits — منصة تجارة إلكترونية متكاملة

منصة تجارة إلكترونية جاهزة للاستخدام الفعلي، تدعم إتمام الشراء برمز تحقق لمرة واحدة (OTP)، وخصائص المنتجات، وإدارة المخزون في مواقع متعددة، مع لوحة إدارة متكاملة.

Next.js 15TypeScriptPrismaPostgreSQLTailwind CSSshadcn/uiCloudflare R2BetterAuth

نظرة عامة

Zoya Outfits منصة تجارة إلكترونية قيد التشغيل الفعلي صممتها وبنيتها بالكامل لمتجر أزياء في السعودية. تدير كتالوج المنتجات وإتمام الشراء باستخدام رمز تحقق لمرة واحدة (OTP) بما يلائم تفضيلات إجراءات الدفع في المنطقة، وتتبع الطلبات ولوحة إدارة متكاملة للعمليات الخلفية.

الخصائص الرئيسية

نظام خصائص المنتجات

احتاجت Zoya إلى نظام خصائص مرن بدل الاقتصار على متغيرات المقاس واللون. يمكن للمنتجات امتلاك خصائص مخصصة مثل الخامة والقَصّة والمنشأ، تختلف باختلاف الفئة.

model Attribute {
  id         String @id @default(cuid())
  name       String
  type       AttributeType
  categoryId String?
  values     AttributeValue[]
}

model ProductAttribute {
  productId   String
  attributeId String
  valueId     String
}

إتمام الشراء باستخدام رمز تحقق لمرة واحدة (OTP)

تعتمد مسارات الشراء في السوق السعودي كثيرًا على رقم الهاتف ورمز التحقق بدل البريد الإلكتروني. نفذت نظام OTP عديم الحالة باستخدام خاصية انتهاء الصلاحية (TTL) في Redis:

  • يُدخل العميل رقم الهاتف.
  • يُنشأ الرمز ويُخزن في Redis لمدة خمس دقائق.
  • تُرسل رسالة SMS عبر واجهة Taqnyat.
  • يُصدر رمز جلسة بعد التحقق.

تخزين الوسائط في Cloudflare R2

تُخزن صور المنتجات في Cloudflare R2 مع روابط موقعة للوصول الخاص. تتولى عملية خلفية تحسين الصور عند رفعها باستخدام Sharp.

// Signed URL generation (expires in 1 hour)
const url = await r2.sign(key, { expiresIn: 3600 });

القرارات المعمارية

القرار السبب
Next.js App Router تقليل JavaScript في المتصفح باستخدام مكونات الخادم
Prisma + PostgreSQL نموذج منتجات علائقي معقد
BetterAuth إدارة جلسات مرنة وتوسعة سهلة لدعم OTP
Cloudflare R2 عدم فرض رسوم نقل البيانات الصادرة والتكامل مع شبكة Cloudflare
Server Actions تجنب كشف مفاتيح API للمتصفح

الدروس المستفادة

فرض بناء منصة للاستخدام الفعلي من الصفر التفكير المبكر في نمذجة البيانات. احتاج نظام الخصائص خصوصًا إلى عدة مراجعات للمخطط حتى أصبح مرنًا بما يكفي للكتالوج دون تعقيد صيانته.

أوضح مسار OTP درسًا مهمًا: أنماط الدفع والمصادقة المحلية مؤثرة. لا تتوافق قوالب التجارة العامة المصممة للأسواق الغربية دائمًا مع سلوك المشترين في الخليج.