⚡
التحديات
- الحاجة إلى نظام حجز مواعيد دون تسجيل إلزامي وإنشاء حساب تلقائي
- إدارة التواريخ الجلالية في نظام الحجز
- المصادقة عبر الرسائل النصية بدلاً من كلمات المرور التقليدية
- إدارة أنواع مختلفة من الطلبات الطبية في نظام موحد
- إنشاء لوحة إدارة لتتبع وتأكيد الحجوزات
- التكامل مع خدمة الرسائل النصية غدير
💡
الحلول
- تنفيذ نظام الحجز مع التسجيل التلقائي للمستخدم في وقت الحجز
- استخدام مكتبة persiantools لتحويل التاريخ الجلالي إلى الميلادي
- تصميم نظام مصادقة عبر الرسائل النصية مع واجهة غدير (Ghasedak)
- تصميم نموذج Reservation لتخزين معلومات الحجز بما في ذلك نوع الطبيب والتاريخ والوصف
- تنفيذ نظام AJAX للتواصل مع الخادم دون تحديث الصفحة
- استخدام pymysql للاتصال بـ MySQL
- تصميم لوحة إدارة مع إمكانية الموافقة/الرفض على الحجوزات
- استخدام نموذج User مخصص يرث من AbstractUser
📚
الإنجازات
- نظام حجز مواعيد سهل الاستخدام وسريع
- تسجيل تلقائي دون الحاجة إلى نماذج طويلة
- مصادقة آمنة عبر الرسائل النصية
- لوحة إدارة كاملة لتتبع الحجوزات
- دعم التقويم الجلالي
- تصميم متجاوب
- تقليل وقت حجز الموعد إلى أقل من دقيقة
🔧
النقاط الفنية البارزة
- Django 5.0.1 و Python 3
- قاعدة بيانات MySQL مع pymysql
- نموذج User مخصص (AUTH_USER_MODEL)
- مصادقة عبر الرسائل النصية باستخدام واجهة غدير (Ghasedak)
- تحويل التاريخ الجلالي باستخدام persiantools
- نظام AJAX واسع مع JSON
- تصميم متعدد التطبيقات (store_account, store_profile)
- إدارة مستويات الوصول (مستخدم، مدير، مدير عام)
- استخدام Paginator للترقيم
- التسجيل التلقائي للمستخدم في وقت الحجز
- إدارة أنواع الطلبات الطبية (عام، قلب، أعصاب، باطني، جهاز هضمي، استشارة هاتفية)
🏗️
الهندسة المعمارية
تم بناء دكتور أونلاين على معمارية MVT (Model-View-Template) في دجانغو ويتكون من تطبيقين رئيسيين:
1. store_account: مسؤول عن إدارة المستخدمين والمصادقة والتسجيل
- نموذج User مخصص مع حقول mobile و access_level و user_image و random_pass
- نظام تسجيل الدخول عبر الرسائل النصية وكلمة المرور
- التسجيل التلقائي أثناء حجز الموعد
2. store_profile: مسؤول عن إدارة الحجوزات والملف الشخصي
- نموذج Reservation لحجز المواعيد
- تخزين نوع الطلب الطبي والتاريخ والوصف
- لوحة إدارة لتتبع الحجوزات
يعمل المشروع في وضع DEBUG ويستخدم SQLite للتطوير و MySQL للإنتاج.
📐
نطاق المشروع
- تطبيقان رئيسيان (store_account, store_profile)
- نموذجا بيانات رئيسيان (User, Reservation)
- 6 أنواع من الطلبات الطبية (عام، قلب، أعصاب، باطني، جهاز هضمي، استشارة هاتفية)
- أكثر من 15 صفحة وقالب HTML
- أكثر من 15 عرض ونقطة نهاية
- نظام مصادقة كامل عبر الرسائل النصية
- لوحة إدارة مخصصة
- نظام حجز المواعيد مع التسجيل التلقائي
- دعم كامل للتقويم الجلالي