هيكل خادم الحجز لنظام Node.js

هذا تطبيق مرجعي لخادم الحجز من خلال واجهة برمجة التطبيقات v3 للدمج العادي استنادًا إلى 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 فقط:

  • Bookserver.js - خادم HTTP ويطلب منطق معالجة، بما في ذلك المصادقة
  • apiv3methods.js - طرق تنفيذ واجهة الإصدار 3 من واجهة برمجة التطبيقات

بعد تنزيل الملفات، يمكنك بدء خادم الحجز من خلال تنفيذ الأمر:

node bookingserver.js

يكتب الهيكل جميع الطلبات الواردة والصادرة إلى وحدة التحكم، حتى تتمكن من مراقبة تنفيذها لأغراض التتبع.

إذا كنت بحاجة إلى بيئة تطوير متكاملة (IDE) لتغيير الرموز أو تصحيح الأخطاء، يمكنك استخدام Visual Studio Code أو أي محرِّر آخر من اختيارك. عليك تصحيح أخطاء المشروع من خلال بدءbookserver.js في بيئة Node.js وضبط نقاط التوقف حسب الحاجة.

اختبار خادم الحجز

نزِّل أداة مساعدة اختبار الحجز. لتثبيته، اتّبِع تعليمات التثبيت المقدّمة في صفحة README.

لإجراء الاختبارات، تحتاج إلى إنشاء ملف نصي لتخزين بيانات الاعتماد. أدخِل اسم المستخدم وكلمة المرور في سطر واحد، على سبيل المثال، في ملف باسم cred.txt:

اسم المستخدم:كلمة المرور

تحتاج أيضًا إلى نسخة محلية من خلاصة مدى التوفّر للتجّار التجريبيين. في أوامر النماذج أدناه، خلاصة مدى التوفّر هي 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).