🧪 التدريبات
كل تمرين «جرّب بنفسك» في مكان واحد: اقرأ المطلوب، ثم اكتب الحل وشغّله داخل صفحة الدرس.
الوحدة 1: الفكرة والتخطيط والتصميم
متطلّبات نظام حجز العيادةتصميمي · الدرس 1: المحطّة ١: المتطلّبات ورحلة المستخدم
اكتب وثيقة متطلّباتٍ للمشروع: حدّد الفاعلين، وارسم رحلة كلٍّ منهما، واكتب القصص والمتطلّبات. ستقود هذه الوثيقة تصميم الـ API في المحطّة القادمة.←عقد الـ API لنظام الحجزتصميمي · الدرس 2: المحطّة ٢: تصميم الواجهة البرمجية
صمّم الواجهة البرمجية لمشروعك: نموذج البيانات، وجدول المسارات بطرقها ورموز حالتها، وشكلٌ موحّدٌ للردود والأخطاء. سنُنفّذ هذا العقد في المحطّات القادمة.←
اكتب وثيقة متطلّباتٍ للمشروع: حدّد الفاعلين، وارسم رحلة كلٍّ منهما، واكتب القصص والمتطلّبات. ستقود هذه الوثيقة تصميم الـ API في المحطّة القادمة.←عقد الـ API لنظام الحجزتصميمي · الدرس 2: المحطّة ٢: تصميم الواجهة البرمجية
(API) ونموذج البياناتصمّم الواجهة البرمجية لمشروعك: نموذج البيانات، وجدول المسارات بطرقها ورموز حالتها، وشكلٌ موحّدٌ للردود والأخطاء. سنُنفّذ هذا العقد في المحطّات القادمة.←
الوحدة 2: بناء الخادم والواجهة البرمجية
واجهة قراءة المواعيدبرمجي · الدرس 3: المحطّة ٣: خادم Express ومسارات المواعيد
ابنِ طرف القراءة من خادم الحجز: قائمة المواعيد مع تصفية المتاح، وموعدٌ واحدٌ بمعرّفه — بالغلاف الموحّد الذي صمّمته.←الحجز والإلغاء ومنع التعارضبرمجي · الدرس 4: المحطّة ٤: التحقّق من المدخلات ومنع تعارض الحجز
أكمِل قلب النظام: مسار حجزٍ يمرّ بالبوّابات الثلاث (وجود، تحقّق، تعارض)، ومسار إلغاءٍ يفتح الموعد. هذا تنفيذ متطلّب «لا يُحجَز موعدٌ مرّتين».←
ابنِ طرف القراءة من خادم الحجز: قائمة المواعيد مع تصفية المتاح، وموعدٌ واحدٌ بمعرّفه — بالغلاف الموحّد الذي صمّمته.←الحجز والإلغاء ومنع التعارضبرمجي · الدرس 4: المحطّة ٤: التحقّق من المدخلات ومنع تعارض الحجز
أكمِل قلب النظام: مسار حجزٍ يمرّ بالبوّابات الثلاث (وجود، تحقّق، تعارض)، ومسار إلغاءٍ يفتح الموعد. هذا تنفيذ متطلّب «لا يُحجَز موعدٌ مرّتين».←
الوحدة 3: التأمين والواجهة التفاعلية
الدخول والأدواربرمجي · الدرس 5: المحطّة ٥: المصادقة بالرموز والأدوار (مريض/موظّف)
أضِف طبقة الأمان: دخولٌ يصدر رمزًا يحمل الدور، ووسيطا تحقّقٍ وتفويض، ومسار جدولٍ للموظّف فقط. المريض المُصادَق يُمنَع منه.←واجهة الحجزبرمجي · الدرس 6: المحطّة ٦: واجهة React تعرض المواعيد وتحجز
الخادم جاهزٌ في
أضِف طبقة الأمان: دخولٌ يصدر رمزًا يحمل الدور، ووسيطا تحقّقٍ وتفويض، ومسار جدولٍ للموظّف فقط. المريض المُصادَق يُمنَع منه.←واجهة الحجزبرمجي · الدرس 6: المحطّة ٦: واجهة React تعرض المواعيد وتحجز
الخادم جاهزٌ في
server/server.js. اكتب واجهة React تعرض المواعيد المتاحة وتحجز.←الوحدة 4: الجودة والتسليم
خطة اختبار نظام الحجزتصميمي · الدرس 7: المحطّة ٧: خطة الاختبار وضمان الجودة
اكتب خطة اختبارٍ تغطّي الطبقتين والدورين والحالات الحرجة. نفّذها، ثم حدّد ما تؤتمته ربطًا بمقرّر 245.←نشر نظام الحجز وتسليمهتصميمي · الدرس 8: المحطّة ٨: النشر والتسليم
انشر مشروعك (واجهةً وخادمًا) وجهّز حزمة تسليمٍ كاملة بحيث يشغّله زميلٌ من الصفر باتّباع توثيقك وحده.←
اكتب خطة اختبارٍ تغطّي الطبقتين والدورين والحالات الحرجة. نفّذها، ثم حدّد ما تؤتمته ربطًا بمقرّر 245.←نشر نظام الحجز وتسليمهتصميمي · الدرس 8: المحطّة ٨: النشر والتسليم
انشر مشروعك (واجهةً وخادمًا) وجهّز حزمة تسليمٍ كاملة بحيث يشغّله زميلٌ من الصفر باتّباع توثيقك وحده.←