Skip to content

Yassinebouaida/app

 
 

Repository files navigation

CraftsConnect - منصة ربط الحرفيين

نظرة عامة

CraftsConnect هي منصة شاملة تهدف إلى ربط المستخدمين بالحرفيين المتخصصين في مختلف المجالات. تتيح المنصة للمستخدمين العثور على الحرفيين المناسبين لاحتياجاتهم وطلب الخدمات بسهولة، كما تمكن الحرفيين من إدارة أعمالهم والحصول على عملاء جدد.

الميزات الرئيسية

للمستخدمين

  • 🔍 البحث المتقدم: العثور على الحرفيين حسب التخصص والموقع والتقييمات
  • 📝 طلب الخدمات: إمكانية إنشاء طلبات خدمة مفصلة مع الصور والمواصفات
  • نظام التقييم: تقييم الحرفيين ومشاركة التجارب
  • 💬 التواصل المباشر: التواصل مع الحرفيين داخل المنصة
  • 📱 واجهة عصرية: تصميم متجاوب يعمل على جميع الأجهزة

للحرفيين

  • 👤 الملف الشخصي: إنشاء ملف تعريفي شامل مع معرض الأعمال
  • 📊 لوحة التحكم: إدارة الطلبات والمواعيد والأرباح
  • 🔔 الإشعارات: تنبيهات فورية للطلبات الجديدة
  • 💼 إدارة الخدمات: تحديد أنواع الخدمات ومناطق التغطية
  • 📈 التقارير: إحصائيات مفصلة عن الأداء والإيرادات

للإدارة

  • 🛠️ لوحة تحكم شاملة: إدارة المستخدمين والحرفيين والطلبات
  • نظام التحقق: تأكيد هوية الحرفيين ومؤهلاتهم
  • 📊 الإحصائيات: تقارير مفصلة عن أداء المنصة
  • 🔐 إدارة الصلاحيات: تحكم كامل في صلاحيات المستخدمين

الميزات التقنية

  • 🌐 دعم متعدد اللغات: العربية والإنجليزية مع دعم RTL
  • 📱 التصميم المتجاوب: يعمل بشكل مثالي على جميع الأجهزة
  • 🔒 الأمان المتقدم: تشفير البيانات ونظام مصادقة آمن
  • الأداء العالي: تحميل سريع وتجربة مستخدم سلسة
  • 🔄 التحديثات الفورية: إشعارات وتحديثات في الوقت الفعلي

التقنيات المستخدمة

الخادم الخلفي (Backend)

  • Node.js - بيئة تشغيل JavaScript
  • Express.js - إطار عمل الويب
  • MongoDB - قاعدة البيانات
  • Mongoose - مكتبة ODM لـ MongoDB
  • JWT - نظام المصادقة
  • Socket.io - التواصل في الوقت الفعلي
  • Multer - تحميل الملفات
  • Bcrypt - تشفير كلمات المرور

الواجهة الأمامية (Frontend)

  • React - مكتبة واجهة المستخدم
  • TypeScript - لغة برمجة مع الأنواع الثابتة
  • Material-UI - مكتبة مكونات الواجهة
  • React Router - التنقل بين الصفحات
  • Axios - التواصل مع الخادم
  • i18next - دعم تعدد اللغات
  • Socket.io Client - التواصل الفوري

متطلبات التشغيل

  • Node.js (النسخة 16 أو أحدث)
  • MongoDB (النسخة 5 أو أحدث)
  • npm أو yarn

التثبيت والتشغيل

1. استنساخ المشروع

git clone https://github.com/your-username/craftsmen-connect.git
cd craftsmen-connect

2. تثبيت متطلبات الخادم الخلفي

npm install

3. تثبيت متطلبات الواجهة الأمامية

cd client
npm install --legacy-peer-deps

4. إعداد متغيرات البيئة

انسخ ملف .env.example إلى .env وحدث القيم:

cp .env.example .env
NODE_ENV=development
PORT=5000
CLIENT_URL=http://localhost:3000

MONGODB_URI=mongodb://localhost:27017/craftsmen-connect

JWT_SECRET=your_very_long_and_secure_secret_key_here
JWT_EXPIRE=30d

EMAIL_HOST=smtp.gmail.com
EMAIL_PORT=587
EMAIL_USER=your_email@gmail.com
EMAIL_PASS=your_app_password

CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret

ADMIN_EMAIL=admin@craftsmen-connect.com
ADMIN_PASSWORD=admin123456

5. تشغيل MongoDB

تأكد من تشغيل MongoDB على النظام:

# في Ubuntu/Debian
sudo systemctl start mongod

# في macOS باستخدام Homebrew
brew services start mongodb-community

# في Windows
net start MongoDB

6. تشغيل التطبيق

تشغيل الخادم الخلفي (Terminal 1):

npm run dev

تشغيل الواجهة الأمامية (Terminal 2):

cd client
npm start

الآن يمكن الوصول للتطبيق على:

هيكل المشروع

craftsmen-connect/
├── client/                 # الواجهة الأمامية (React)
│   ├── src/
│   │   ├── components/     # المكونات القابلة لإعادة الاستخدام
│   │   ├── pages/          # صفحات التطبيق
│   │   ├── contexts/       # سياقات React
│   │   ├── i18n/          # ملفات الترجمة
│   │   └── utils/         # المساعدات والأدوات
│   └── public/            # الملفات العامة
├── models/                # نماذج قاعدة البيانات
├── routes/                # مسارات API
├── middleware/            # الوسائط المخصصة
├── controllers/           # تحكم المسارات
├── utils/                 # المساعدات والأدوات
├── uploads/               # ملفات المستخدمين المرفوعة
└── server.js             # نقطة دخول الخادم

API المتاحة

المصادقة

  • POST /api/auth/register - تسجيل مستخدم جديد
  • POST /api/auth/login - تسجيل الدخول
  • GET /api/auth/me - الحصول على بيانات المستخدم الحالي
  • POST /api/auth/logout - تسجيل الخروج

المستخدمين

  • GET /api/users - الحصول على جميع المستخدمين (أدمن)
  • GET /api/users/:id - الحصول على مستخدم محدد
  • PUT /api/users/:id - تحديث بيانات المستخدم

الحرفيين

  • GET /api/craftsmen - البحث عن الحرفيين
  • GET /api/craftsmen/:id - الحصول على ملف حرفي محدد
  • POST /api/craftsmen - إنشاء/تحديث ملف الحرفي
  • POST /api/craftsmen/:id/reviews - إضافة تقييم للحرفي

طلبات الخدمة

  • GET /api/requests - الحصول على الطلبات
  • POST /api/requests - إنشاء طلب خدمة جديد
  • GET /api/requests/:id - الحصول على طلب محدد

الإدارة

  • GET /api/admin/stats - إحصائيات عامة
  • GET /api/admin/users - إدارة المستخدمين
  • PUT /api/admin/craftsmen/:id/verify - تأكيد الحرفيين

التخصصات المتاحة

  • كهرباء - تركيب وصيانة الأنظمة الكهربائية
  • 🚿 سباكة - تركيب وصيانة أنظمة المياه والصرف
  • 🔨 نجارة - أعمال الخشب والأثاث
  • 🎨 دهان - دهان الجدران والأسقف
  • ❄️ تكييف وتبريد - تركيب وصيانة أجهزة التكييف
  • 🔧 إصلاح أجهزة - صيانة الأجهزة المنزلية
  • 🧱 بناء وحجارة - أعمال البناء والتشييد
  • ⚒️ لحام - أعمال اللحام والحدادة
  • 🌱 بستنة - تنسيق وصيانة الحدائق
  • 🧽 تنظيف - خدمات التنظيف المتخصصة
  • 🚗 سيارات - صيانة وإصلاح السيارات
  • 📱 إلكترونيات - إصلاح الأجهزة الإلكترونية
  • 🏠 أسطح - عزل وصيانة الأسطح
  • 🏢 أرضيات - تركيب وصيانة الأرضيات
  • 🪟 زجاج - تركيب وصيانة الزجاج
  • 🔒 أمن وحماية - أنظمة الأمان والحماية

المساهمة في المشروع

نرحب بالمساهمات! يرجى اتباع الخطوات التالية:

  1. Fork المشروع
  2. إنشاء فرع جديد (git checkout -b feature/amazing-feature)
  3. Commit التغييرات (git commit -m 'Add some amazing feature')
  4. Push للفرع (git push origin feature/amazing-feature)
  5. فتح Pull Request

الترخيص

هذا المشروع مرخص تحت رخصة MIT - انظر ملف LICENSE للتفاصيل.

الدعم

للحصول على الدعم:

تطوير المستقبل

  • تطبيق الهاتف المحمول
  • نظام الدفع الإلكتروني
  • خدمة الموقع الجغرافي
  • الذكاء الاصطناعي لتوصيات الحرفيين
  • نظام الولاء والمكافآت
  • التكامل مع وسائل التواصل الاجتماعي

مطور بـ ❤️ في المملكة العربية السعودية

About

🔮 ChatGPT User's Guide

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 54.0%
  • JavaScript 38.1%
  • Dart 6.2%
  • CSS 1.4%
  • Other 0.3%