نظام شامل لإدارة محلات الحلاقة مطور باستخدام Django مع إمكانيات متقدمة للحجز والتواصل الفوري.
- تسجيل ثنائي النوع: عملاء وأصحاب محلات
- تفعيل بالإيميل: نظام كود 6 أرقام مع رابط احتياطي
- مصادقة اجتماعية: تسجيل الدخول عبر Google
- حماية متقدمة: نظام أمان متعدد الطبقات
- معلومات شاملة: الاسم، الوصف، العنوان، الموقع الجغرافي
- إعدادات مرنة: أوقات العمل، أنواع الخدمات، الأسعار
- نظام الصور: رفع وعرض صور المحل والخدمات
- إعدادات متقدمة: الثيم، الألوان، وسائل التواصل الاجتماعي
- نظام الدور المتطور: ترقيم تلقائي لكل يوم
- حجوزات متعددة الخدمات: إمكانية حجز عدة خدمات في جلسة واحدة
- حالات متنوعة: انتظار، مؤكد، مكتمل، ملغي، لم يحضر
- مراسلة مباشرة: محادثة فورية بين العميل وصاحب المحل
- WebSocket: تحديثات فورية للدور وحالة الحجوزات
- إشعارات متنوعة: رسائل، تأكيد حجز، تحديث الدور
- إشعارات المتصفح: إشعارات خارج التطبيق
- نظام النجوم: تقييم من 1 إلى 5 نجوم
- مراجعات مع صور: إمكانية رفع صور مع التقييم
- نظام الموافقة: تحكم في عرض التقييمات
- Backend: Django 5.2.3, Python
- Frontend: Bootstrap 5.3, JavaScript, Arabic RTL
- Database: SQLite (قابل للترقية لـ PostgreSQL)
- Real-time: Django Channels, WebSocket
- Authentication: Django Allauth, Google OAuth
- File Handling: Django Media Files, WhiteNoise
- Security: CSRF Protection, Custom Middleware
Python 3.8+
pip
Gitgit clone https://github.com/your-username/barbershop.git
cd barbershoppython -m venv venv
# Windows
venv\Scripts\activate
# Linux/Mac
source venv/bin/activatepip install -r requirements.txtcp .env.example .envقم بتحرير ملف .env وأضف قيمك الخاصة:
DEBUG=True
SECRET_KEY=your-very-long-random-secret-key
EMAIL_HOST_USER=your_email@gmail.com
EMAIL_HOST_PASSWORD=your_app_password
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_SECRET_KEY=your_google_secret_keycd src
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuserpython manage.py collectstaticpython manage.py runserverالآن يمكنك زيارة: http://localhost:8000
- اذهب إلى Google Cloud Console
- أنشئ مشروعاً جديداً أو استخدم موجود
- فعّل APIs التالية:
- Google+ API
- Google Identity Services API
- أنشئ OAuth 2.0 Credentials
- أضف Authorized Origins:
http://localhost:8000 https://yourdomain.com - أضف Redirect URIs:
http://localhost:8000/accounts/google/login/callback/ https://yourdomain.com/accounts/google/login/callback/ - انسخ Client ID و Secret إلى ملف
.env
- فعّل التحقق بخطوتين على حسابك في Gmail
- اذهب إلى App Passwords
- أنشئ كلمة مرور تطبيق جديدة
- استخدم كلمة المرور هذه في متغير
EMAIL_HOST_PASSWORD
Barbershop/
├── src/ # الكود الرئيسي
│ ├── accounts/ # نظام المستخدمين
│ ├── barbershops/ # إدارة المحلات
│ ├── bookings/ # نظام الحجوزات
│ ├── reviews/ # التقييمات
│ ├── notifications/ # الإشعارات
│ ├── home/ # الصفحة الرئيسية
│ ├── project/ # إعدادات المشروع
│ ├── templates/ # القوالب
│ ├── static/ # الملفات الثابتة
│ └── media/ # الملفات المرفوعة
├── requirements.txt # المتطلبات
├── .env.example # قالب متغيرات البيئة
└── README.md # هذا الملف
- CSRF Protection: حماية من هجمات CSRF
- XSS Protection: فلترة المدخلات
- SQL Injection: استخدام Django ORM
- Admin Security: مسار إدارة مخفي
- HTTPS Support: دعم SSL/TLS
- Session Security: أمان الجلسات
- غيّر
SECRET_KEYفي الإنتاج - استخدم HTTPS في الإنتاج
- فعّل جميع إعدادات الأمان
- راجع ملف
.gitignoreقبل الرفع
DEBUG=False
SECRET_KEY=your-production-secret-key
ALLOWED_HOSTS=yourdomain.com,www.yourdomain.com
DATABASE_URL=your-database-url
EMAIL_HOST_USER=production_email@yourdomain.com
EMAIL_HOST_PASSWORD=production_email_password
GOOGLE_CLIENT_ID=production_google_client_id
GOOGLE_SECRET_KEY=production_google_secret_key- إعداد قاعدة بيانات الإنتاج (PostgreSQL مُستحسن)
- تحديث
ALLOWED_HOSTS - جمع الملفات الثابتة:
python manage.py collectstatic - تشغيل التطبيق عبر Gunicorn أو uWSGI
- إعداد Nginx للملفات الثابتة والوكيل العكسي
SMTPAuthenticationError
الحل: تأكد من تفعيل App Password في Gmail
Invalid client_id
الحل: تأكد من صحة Client ID في ملف .env
OperationalError
الحل: تأكد من تطبيق Migrations: python manage.py migrate
- Fork المشروع
- أنشئ فرع جديد:
git checkout -b feature/amazing-feature - Commit التغييرات:
git commit -m 'Add amazing feature' - Push للفرع:
git push origin feature/amazing-feature - أنشئ Pull Request
هذا المشروع مرخص تحت رخصة MIT - انظر ملف LICENSE للتفاصيل.
- المطور: [اسمك]
- الإيميل: your.email@example.com
- LinkedIn: [ملفك الشخصي]
- GitHub: [حسابك على GitHub]
شكر خاص لـ:
- Django Community
- Bootstrap Team
- Font Awesome
- جميع المطورين الذين ساهموا في المكتبات المستخدمة
ملاحظة مهمة: تأكد من مراجعة جميع إعدادات الأمان قبل النشر في الإنتاج! 🔐