نحن على وشك إنشاء واجهة برمجة تطبيقات لنظام المدارس ، حيث يمكن للمدرس إنشاء حساب جديد و تسجيل الدخول ثم الحصول على سجلات الطلاب و إنشائها وتحديثها في قاعدة بياناتنا.
في دروس الـ Node، تعلمت كيفية عمل تطبيقات برمجية ويعتبر انك اكتسبت المهارة، لكن حتى تكتسبها فعلاً ينبغي عليك التدرب عليها وهذا هو هدف هذا المشروع. حيث ستقوم باستخدام كل ما تعلمته في الدروس السابقة من RESTful API, معاملات المسار, Postman , وغيرها، لعمل واجهة برمجية لنظام المدارس
يجمع هذا المشروع العديد من الأفكار والمهارات التي تعلمناها خلال الدروس والتي تشمل على:
- عمل RESTful API
- استخدام الدوال المختلفة في HTTP مثل GET , POST, وغيرعا
- كيفية عمل المسارات
- استعمال و اضافة الـ Queries في المسارات
- كيفية إنشاء حساب جديد وعمل هاش للباسوورد
- كيفية إنتاج التوكن
- استعمال Postman
يجب أن يحتوي المشروع على المزايا التالية:
يجب أن تكون واجهة برمجة تطبيقات بسيطة وأن تقبل المعلومات التالية للطالب
Name الاسم
Birthdate تاريخ الميلاد
City مدينة السكن
Email البريد الإلكتروني
- يجب أن يكون البريد الإلكتروني للطالب و المدرس فريدًا
- يجب أن يكون لكل طالب و مدرس معرف فريد id تم إنشاؤه تلقائيًا
- يجب أن تسمح نقطة نهاية تحديث معلومات الطالب (الاسم وتاريخ الميلاد والمدينة فقط)
- يجب أن يستطيع المدرس إنشاء حساب جديد و تسجيل الدخول
- يجب أن تعيد نقطة النهاية للتحديث و لأعادة معلومات الطالب (الاسم وتاريخ الميلاد والمدينة والبريد الإلكتروني و المعرف)
عمل نقطة نهاية لإمكانية حذف سجل طالب عن طريق المعرف الفريد id
لإكمال هذا المشروع يجب عليك تحميل ملف المشروع من الرابط اعلاه، و إستخدام code editor لإتمام المتطلبات الخاصة بالمشروع و المذكورة أعلاه.
سيتم تقييم المشروع بناء على المعايير الآتي ذكرها تحت بند تقييم المشروع.
- يجب ان يحتوي التطبيق على student module و تكون الـ Schema مماثله لما ذكر في الاعلى
- يجب ان يحتوي التطبيق على teacher module و تكون الـ Schema مماثله لما ذكر في الاعلى
- تطبيق المسارات المختلفة لكل من GET , POST, PUT, DELETE
- تسجيل الدخول للمدرس و إنشاء الحساب يعملان
- جميع المسارات تعمل
- عند استعمال Postman نستطيع تجربة الطلبات
- القدرة على جلب طالب معين
- القدرة على عرض كافة الطلاب
- يجب عدم إضافة أسطر فارغة زائدة غير ضرروية.
- يجب تنسيق الكود بشكل مناسب بحيث تكون هناك ازاحة بين الكود داخل الدالة وبين تعريف الدالة.
- اضافة التعليقات التي تشرح سبب كتابة الكود بطريقة معينة.