تفاصيل العمل

نظام حجز المواعيد الطبية (Medical Appointment System)

نبذة مختصرة

منصة رقمية تُتيح للمرضى حجز المواعيد، وللأطباء إدارة جداولهم، وللمسؤولين المشرفين التحكم بالنظام بالكامل.

المتطلبات الأساسية

Node.js، TypeScript، Express.js

MongoDB مع Mongoose (نموذجين/Schemas على الأقل)

عمليات CRUD كاملة على مورد واحد على الأقل

توثيق وتسجيل دخول بـ JWT وتشفير بـ bcrypt

حماية المسارات برمجياً (Protected Routes & Middlewares)

متغيرات بيئة dotenv وتوثيق API بـ Swagger

رفع الكود على GitHub والنشر على بيئة سحابية (Render/Railway)

أنواع المستخدمين والصلاحيات

المريض (Patient): استعراض الأطباء، حجز وإلغاء المواعيد، وعرض السجل.

الطبيب (Doctor): إدارة الجداول الخاصة، وتأكيد أو إتمام أو إلغاء المواعيد.

المسؤول (Admin): إدارة حسابات الأطباء، وعرض كافة المواعيد، وإدارة المستخدمين.

الكيانات الأساسية

المستخدم (User): الاسم، البريد، كلمة المرور، الدور.

ملف الطبيب (Doctor Profile): التخصص، الخبرة، العنوان، السعر، ساعات العمل.

الموعد (Appointment): المريض، الطبيب، التاريخ، الوقت، الحالة، ملاحظات.

الجدول (Schedule): الطبيب، اليوم، الأوقات المتاحة.

قواعد العمل الأساسية

منع تكرار حجز نفس الفترة للمريض أو تعارض الأوقات للطبيب.

الحجز للمواعيد المستقبلية فقط، والإلغاء متاح قبل الموعد.

إلغاء الموعد يحرر الفترة الزمنية تلقائياً.

يمنع تعديل أو إلغاء المواعيد المكتملة.

يمنع حذف جدول يحتوي على مواعيد مستقبلية مؤكدة.

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
تاريخ الإضافة
تاريخ الإنجاز
المهارات