رزرو اسکلت سرور برای Node.js

این یک پیاده‌سازی مرجع از API v3 Booking Server برای یکپارچه‌سازی استاندارد مبتنی بر 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

کل کد پایه فقط از دو فایل جاوا اسکریپت تشکیل شده است:

  • bookingserver.js - سرور HTTP و منطق مدیریت درخواست‌ها، از جمله احراز هویت
  • apiv3methods.js - متدهایی که رابط API نسخه ۳ را پیاده‌سازی می‌کنند

پس از دانلود فایل‌ها، می‌توانید با اجرای دستور زیر، سرور رزرو را راه‌اندازی کنید:

node bookingserver.js

این اسکلت تمام درخواست‌های ورودی و خروجی را در کنسول می‌نویسد، بنابراین می‌توانید اجرای آن را برای اهداف ردیابی رصد کنید.

اگر برای تغییر کد یا اشکال‌زدایی به یک IDE نیاز دارید، می‌توانید از Visual Studio Code یا هر ویرایشگر دیگری به دلخواه خود استفاده کنید. با شروع bookingserver.js در محیط Node.js، پروژه را اشکال‌زدایی کنید و در صورت لزوم نقاط توقف را تنظیم کنید.

تست سرور رزرو شما

ابزار تست رزرو را دانلود کنید. برای نصب آن، دستورالعمل‌های نصب ارائه شده در صفحه README آن را دنبال کنید.

برای تست‌ها، باید یک فایل متنی برای ذخیره اطلاعات کاربری خود ایجاد کنید. نام کاربری و رمز عبور خود را در یک خط، مثلاً در فایلی با نام cred.txt، وارد کنید:

نام کاربری: رمز عبور

شما همچنین به یک کپی محلی از Availability feed برای فروشگاه‌های آزمایشی خود نیاز دارید. در دستورات نمونه زیر، Availability feed برابر با 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).