تفاصيل العمل

ShopSphere Backend — REST API for E-commerce

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

الهدف

بناء Backend عملي باستخدام Node.js + TypeScript + PostgreSQL مع توثيق API كامل، يوفّر أساسًا قويًا لأي تطبيق Frontend أو Mobile App للتكامل بسهولة.

المزايا الرئيسية (Features)

Authentication & Users

تسجيل مستخدم جديد + إرسال OTP على البريد لتأكيد الحساب

تسجيل دخول باستخدام JWT

استعادة كلمة المرور عبر OTP

تحديث بيانات المستخدم بصلاحيات (Self / Admin)

تفعيل / تعطيل الحساب (is_active) ومنع الحسابات المعطلة من استخدام API

Products

CRUD للمنتجات (Admin فقط)

رفع صورة المنتج باستخدام Multer مع قيود أمان (نوع/حجم/اسم آمن)

تحديث منفصل للـ stock و price + Bulk update

Low stock endpoint + Export CSV

تحويل image_url تلقائيًا إلى public URL

Cart

إضافة / تعديل / حذف عناصر السلة

تحقق من وجود المنتج وصحة الكمية ومراعاة المخزون

منع تكرار نفس المنتج داخل السلة

Orders

إنشاء Order من السلة ضمن Transaction (حساب الإجمالي + خصم المخزون + إنشاء order_items + تفريغ السلة)

حماية عرض الطلب (المالك فقط أو Admin)

تعديل حالة الطلب (Admin-only)

Payments

Payment Service مع Gateway abstraction (جاهز لتوصيل مزود دفع حقيقي)

Transaction + locking لمنع double payment

تحديث حالة الدفع والطلب تلقائيًا عند نجاح الدفع

Reviews

إنشاء / تعديل / حذف Review مع تحقق الملكية

حساب متوسط التقييم وإحصائيات للمنتج

Moderation من لوحة Admin

Admin Panel APIs

إدارة Users (عرض / حذف / تفعيل / تعطيل)

إدارة Products & Categories

Moderation للـ Reviews

Dashboard endpoints (overview / best-sellers / stale-products)

Audit logging (JSON lines) لتتبع عمليات الأدمن

Tech Stack

Backend: Node.js + TypeScript + Express.js

Database: PostgreSQL

File Upload: Multer

Authentication & Security: JWT, OTP, Data Validation

Transactions & Concurrency: PostgreSQL Transactions + Locking

API Documentation: Swagger

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
2
تاريخ الإضافة
تاريخ الإنجاز
المهارات