Complete e-commerce website with Algerian payment methods
# 🛍️ DDM Store - متجر إلكتروني جزائري
## نظرة عامة
Ecommerce platform كاملة ومتكاملة للتجارة الإلكترونية في الجزائر مع دعم 3 طرق دفع.
## المميزات الرئيسية
✅ **نظام المستخدمين**
- تسجيل حساب جديد
- تسجيل دخول آمن مع JWT
- إدارة الملف الشخصي
- تشفير كلمات المرور
✅ **نظام المنتجات**
- عرض جميع المنتجات
- البحث والفلترة حسب الفئة
- إدارة المخزون
✅ **سلة التسوق**
- إضافة المنتجات للسلة
- تعديل الكمية
- حساب السعر النهائي
✅ **نظام الطلبات**
- إنشاء وتتبع الطلبات
- عرض تاريخ الطلبات
✅ **طرق الدفع الثلاثة**
- 💳 بطاقة بنكية (Stripe)
- 📮 البريد الجزائري (Bpost)
- 🏪 الدفع عند الاستلام (COD)
✅ **الأمان**
- Authentication مع JWT
- تشفير البيانات الحساسة
- حماية من الثغرات الشائعة
## البنية التقنية
### Backend
- **Framework**: Express.js
- **Database**: MongoDB
- **Authentication**: JWT
- **Payment**: Stripe API
- **Email**: NodeMailer
### Frontend
- **Library**: React
- **Routing**: React Router v6
- **Styling**: CSS3
- **State Management**: Context API
## التثبيت والتشغيل
### 1️⃣ تثبيت Backend
```bash
cd backend
npm install
```
**أنشئ ملف `.env`:**
```
PORT=5000
MONGODB_URI=mongodb+srv://user:password@
cluster.mongodb.net
JWT_SECRET=your_super_secret_key_here
JWT_EXPIRE=7d
STRIPE_SECRET_KEY=sk_test_your_key
STRIPE_PUBLIC_KEY=pk_test_your_key
CLIENT_URL=
localhost
NODE_ENV=development
```
**شغّل الـ Backend:**
```bash
npm run dev
```
### 2️⃣ تثبيت Frontend
```bash
cd frontend
npm install
```
**شغّل الـ Frontend:**
```bash
npm start
```
## استخدام قاعدة البيانات MongoDB
### الخطوة 1: أنشئ حساب مجاني على MongoDB Atlas
- اذهب إلى
mongodb.com
- أنشئ حساب مجاني
- أنشئ Cluster جديد
### الخطوة 2: احصل على connection string
```
mongodb+srv://username:password@
cluster.mongodb.net
```
### الخطوة 3: ضع الـ connection string في ملف `.env`
## إضافة منتجات تجريبية
استخدم Postman أو cURL لإضافة منتجات:
```bash
curl -X POST
localhost \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: a …