الدرس 28 · الوحدة 14: اختبار عملية النشر والتحقق منها
المشروع الختامي: واجهة خلفية لإدارة بيانات المستخدمين
كل ما تعلّمته في تطبيق واحد تنشره للناس. ⏱ نحو 20 دقيقة.
بعد هذا الدرس ستستطيع أن:
- تحلل متطلبات واجهة خلفية كاملة وتخطط مراحلها.
- تبني تطبيقًا يجمع الدخول والصلاحيات و
CRUDوREST APIعلىMySQL. - تنشر التطبيق بإعدادات إنتاج آمنة على
HTTPS. - تختبر النشر وتكتب تقريرًا فنيًّا عن التطوير والأدوات.
١المشروع
هذا هو المشروع الذي تنص عليه الخطة التدريبية للمقرر: «تطوير واجهة خلفية لإدارة بيانات مستخدمين»: خادم ويب، وواجهات برمجة APIs، واتصال بقاعدة بيانات MySQL، مع عمليات إضافة المستخدمين وتعديل بياناتهم وحذفهم، ثم تقرير يوضح خطوات التطوير والأدوات المستخدمة. وستجمع فيه كل وحدات المقرر الأربع عشرة، وتنشره على الإنترنت.
| الجزء | ما المطلوب؟ | الدروس |
|---|---|---|
| 1. التحليل | جدول الوظائف والطلبات (GET/POST/الواجهة) قبل الكود. | 1 |
| 2. قاعدة البيانات | جدول users (و passwords مجزّأة) على MySQL، وقيد UNIQUE على البريد. | 19، 21 |
| 3. الدخول والصلاحيات | تسجيل دخول وخروج، وصفحات الإدارة للمدير فقط (403 لغيره). | 8، 16 |
| 4. واجهة الإدارة | قائمة مع بحث، وإضافة، وتعديل، وحذف بـ POST، مع التحقق ونمط PRG. | 7، 20، 21 |
| 5. الواجهة البرمجية | REST API بـ JSON: GET قائمة ومستخدم، POST إنشاء، PUT تعديل، DELETE حذف، محمية برمز. | 13، 22 |
| 6. تنظيم الكود | وحدات منفصلة (db، auth، users)، وقواعد العمل في مكان واحد، واستثناءات تتحول إلى رموز. | 9 – 12 |
| 7. النشر | على استضافة حقيقية بـ HTTPS، وإعدادات إنتاج، وأسرار خارج الكود. | 24 – 26 |
| 8. الاختبار والتقرير | خطة اختبار، واختبار دخان، وتقرير التطوير. | 27 |
٢نقطة البداية
هذه نسخة البداية: تطبيق الدرس 21 مع وحدة الدخول من الدرس 16. شغّلها، وافهم كل ملف، ثم ابنِ عليها. وعلى XAMPP انسخ الملفات إلى مجلد في htdocs، وأنشئ قاعدة MySQL باسم app، وبدّل سطر الاتصال في db.php:
🧪 مختبر الخادمهذه بداية فقط: ينقصها التعديل (تحدي الدرس 21)، وحماية الصفحات بالدخول، والواجهة البرمجية.
٣المراحل المقترحة
| الأسبوع | المرحلة | التسليم |
|---|---|---|
| 1 | التحليل وتصميم القاعدة وإعداد XAMPP | جدول الوظائف، ومخطط الجدول، والقاعدة تعمل محليًّا |
| 2 | واجهة الإدارة كاملة (CRUD) مع التحقق | كل العمليات تعمل محليًّا |
| 3 | الدخول والصلاحيات والواجهة البرمجية | لقطات من Postman أو المختبر لكل نقطة API |
| 4 | النشر والاختبار والتقرير | الرابط المنشور، وخطة الاختبار ونتائجها، والتقرير |
٤معايير التقييم
| المعيار | الوزن | ممتاز يعني |
|---|---|---|
| الوظائف | 25% | كل عمليات CRUD تعمل في الواجهة و API، مع البحث. |
| الأمان | 25% | استعلامات مُعدّة فقط، و htmlspecialchars، و password_hash، وحماية الصفحات والواجهة، وأسرار خارج الكود، و HTTPS. |
| جودة الكود | 15% | وحدات منظمة، وأسماء واضحة، ولا تكرار، وقواعد العمل في مكان واحد. |
| رموز الحالة والأخطاء | 10% | 201 و 204 و 401 و 403 و 404 و 409 و 422 في مكانها، ورسائل مفهومة، ولا تفاصيل مكشوفة. |
| النشر | 15% | منشور ويعمل من أي جهاز، بإعدادات الإنتاج. |
| الاختبار والتقرير | 10% | خطة اختبار منفّذة، وتقرير يشرح الخطوات والأدوات والمشكلات وحلولها. |
٥هيكل التقرير
- المقدمة: وصف التطبيق والمستخدمين المستهدفين.
- التحليل: جدول الوظائف والطلبات ومخطط قاعدة البيانات.
- الأدوات: XAMPP وإصدار PHP و MySQL و VS Code والاستضافة، ولماذا اخترتها.
- البنية: ملفات المشروع ودور كل ملف.
- الواجهة البرمجية: جدول النقاط (الطريقة، المسار، الطلب، الرد، الرموز).
- الأمان: ما الذي حميت منه وكيف (حقن SQL، و XSS، وكلمات المرور، والجلسات).
- النشر: الخطوات ولقطات الشاشة والرابط.
- الاختبار: الخطة والنتائج وما أصلحته.
- الخاتمة: ما تعلّمته، وما تضيفه لو كان لديك أسبوع آخر.
الخلاصة
- المشروع الرسمي للمقرر: واجهة خلفية لإدارة المستخدمين، منشورة ومختبرة.
- يجمع: التحليل، وقاعدة البيانات، والدخول، و
CRUD، وAPI، والوحدات، والنشر، والاختبار. - الأمان ربع الدرجة:
prepareوhtmlspecialcharsوpassword_hashوالصلاحيات والأسرار وHTTPS. - التسليم: الرابط والمشروع والتقرير وحساب تجربة.
تحدٍّ تصميمي: سلّم مشروعك
مشروعابنِ الواجهة الخلفية لإدارة بيانات المستخدمين وانشرها، ثم سلّم الرابط والتقرير وملفات المشروع (بلا ملف الأسرار) لمعلمك.
المطلوب:
- اتبع المراحل الأربع والمعايير أعلاه.
- سلّم: رابط الموقع، ورابط أو ملف المشروع، والتقرير، وبيانات حساب مدير للتجربة.
- تأكد من كل بند في القائمة قبل التسليم.
☑ راجع عملك قبل التسليم: