## مشروع متجر إلكتروني للبقالة (FreshMart)
مشروع **متجر إلكتروني متكامل لبيع المنتجات الغذائية** تم تطويره باستخدام أحدث تقنيات الويب. يوفر النظام تجربة تسوق سهلة للمستخدمين مع لوحة تحكم للإدارة لإدارة المنتجات والطلبات.
المشروع مبني بهيكلية **Full Stack** باستخدام React في الواجهة الأمامية و Node.js و MongoDB في الواجهة الخلفية.
---
## مميزات المشروع
### واجهة المستخدم
* صفحة رئيسية تعرض المنتجات المميزة والفئات
* عرض جميع المنتجات مع إمكانية **البحث والتصفية حسب الفئة**
* صفحة تفاصيل لكل منتج
* تصميم متجاوب يعمل على **الكمبيوتر والموبايل**
### نظام التسوق
* إضافة المنتجات إلى **سلة التسوق**
* تعديل الكميات داخل السلة
* إتمام عملية الطلب بسهولة
### نظام المستخدمين
* تسجيل حساب جديد
* تسجيل الدخول
* حفظ بيانات المستخدم في قاعدة البيانات
* صفحة حساب المستخدم تحتوي على **سجل الطلبات**
### نظام الطلبات
* كل طلب يتم حفظه في قاعدة البيانات
* ربط الطلبات بحساب المستخدم
* إمكانية عرض **تاريخ الطلبات**
### لوحة تحكم الإدارة (Admin Dashboard)
لوحة تحكم خاصة بالمشرف تسمح بـ:
* إضافة منتجات جديدة
* تعديل بيانات المنتجات
* حذف المنتجات
* إدارة محتوى المتجر بسهولة
---
## التقنيات المستخدمة
### الواجهة الأمامية (Frontend)
* React 18
* Vite
* React Router
* Tailwind CSS
* Context API لإدارة الحالة
* Lucide React للأيقونات
* Sonner لإشعارات النظام
### الواجهة الخلفية (Backend)
* Node.js
* Express.js
* MongoDB
* Mongoose
---
## هيكلية المشروع
المشروع مقسم إلى قسمين رئيسيين:
### Frontend
يحتوي على:
* المكونات القابلة لإعادة الاستخدام
* صفحات الموقع مثل:
* الصفحة الرئيسية
* صفحة المنتجات
* صفحة تفاصيل المنتج
* صفحة السلة
* تسجيل الدخول
* التسجيل
* لوحة تحكم الإدارة
* صفحة حساب المستخدم
### Backend
* خادم API مبني باستخدام Express
* اتصال بقاعدة بيانات MongoDB
* إدارة المستخدمين والمنتجات والطلبات
---
## تشغيل المشروع
لتشغيل المشروع يجب تشغيل الواجهة الأمامية والخلفية:
1. تشغيل خادم الـ Backend
2. تشغيل خادم الـ Frontend
3. فتح الموقع عبر المتصفح
---
## قاعدة البيانات
المشروع يعتمد على **MongoDB** لتخزين:
* المستخدمين
* المنتجات
* الطلبات
كما يوجد ملف بيانات أولية يمكن استخدامه لملء قاعدة البيانات عند التشغيل لأول مرة.