هذا هو التنفيذ المرجعي لخادم الحجز API الإصدار 3 لعملية الدمج العادية استنادًا إلى Node.js.
المتطلبات الأساسية
يجب تثبيت
البدء
تم تنفيذ خادم الحجز باستخدام Node.js العادي بدون أي مكتبات أو أُطر إضافية، وذلك لأغراض توضيحية. إذا كنت تستخدم أي أُطر أخرى، يمكنك بسهولة تغيير عملية التنفيذ هذه إلى Express.js أو MEAN.js أو أي إطار آخر مستند إلى Node.js تختاره.
لا يستخدم التنفيذ أيضًا مكتبات بروتوكول المخزن المؤقت، بل يعتمد بدلاً من ذلك على تسلسل JSON البسيط وطرق JSON.parse() وJSON.stringify().
لتنزيل المشروع، نفِّذ الأمر التالي:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
تتألف قاعدة الرموز البرمجية بأكملها من ملفَي JavaScript فقط:
- bookingserver.js: خادم HTTP ومنطق معالجة الطلبات، بما في ذلك المصادقة
- apiv3methods.js - methods implementing API v3 interface
بعد تنزيل الملفات، يمكنك بدء تشغيل Booking Server من خلال تنفيذ الأمر:
node bookingserver.js
يكتب الهيكل الأساسي جميع الطلبات الواردة والصادرة إلى وحدة التحكّم، ما يتيح لك مراقبة تنفيذها لأغراض التتبُّع.
إذا كنت بحاجة إلى بيئة تطوير متكاملة لإجراء تغييرات على الرمز أو تصحيح الأخطاء، يمكنك استخدام Visual Studio Code أو أي محرر آخر من اختيارك. صحِّح أخطاء المشروع من خلال بدء تشغيل bookingserver.js في بيئة Node.js وضبط نقاط توقّف عند الحاجة.
اختبار خادم الحجز
نزِّل أداة اختبار الحجز. لتثبيته، اتّبِع تعليمات التثبيت المتوفّرة في صفحة README.
بالنسبة إلى الاختبارات، عليك إنشاء ملف نصي لتخزين بيانات الاعتماد. أدخِل اسم المستخدم وكلمة المرور في سطر واحد، مثلاً في ملف باسم cred.txt:
username:password
تحتاج أيضًا إلى نسخة محلية من خلاصة مدى التوفّر للتجّار التجريبيين. في نماذج الأوامر أدناه، تكون خلاصة معلومات التوفّر هي avail.json.
يمكنك الآن اختبار "خادم الحجز" باستخدام الأوامر التالية:
- مكالمات الاختبار إلى طريقة HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- اختبار طلبات إجراء CheckAvailability:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- اختبار طلبات إلى طريقتَي CreateBooking وUpdateBooking:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
أثناء تنفيذ خادم الحجز الخاص بك، قد تحتاج إلى إجراء اختبارات إضافية عليه (مثل list_bookings_test وrescheduling_test وما إلى ذلك) بهدف اجتياز جميع الاختبارات (-all_tests=true).