Node.js için Rezervasyon Sunucusu İskeleti

Bu, Node.js tabanlı Standart Entegrasyon için API v3 Rezervasyon Sunucusu'nun referans uygulamasıdır.

Ön koşullar

Yüklenmesi gerekir:

Başlarken

Rezervasyon sunucusu, örnekleme amacıyla ek kitaplıklar veya çerçeveler olmadan standart Node.js kullanılarak uygulanır. Başka çerçeveler kullanıyorsanız bu uygulamayı kolayca Express.js, MEAN.js veya seçtiğiniz başka bir Node.js tabanlı çerçeveye değiştirebilirsiniz.

Uygulamada protokol arabellek kitaplıkları da kullanılmamaktadır. Bunun yerine basit JSON serileştirme ile JSON.parse() ve JSON.stringify() yöntemleri kullanılmaktadır.

Projeyi indirmek için aşağıdaki komutu yürütün:

git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton

Kod tabanının tamamı yalnızca iki JavaScript dosyasından oluşur:

  • bookingserver.js: Kimlik doğrulama dahil HTTP sunucusu ve istek işleme mantığı
  • apiv3methods.js - API v3 arayüzünü uygulayan yöntemler

Dosyaları indirdikten sonra şu komutu çalıştırarak rezervasyon sunucusunu başlatabilirsiniz:

node bookingserver.js

İskelet, tüm gelen ve giden istekleri konsola yazar. Böylece, izleme amacıyla yürütülmesini izleyebilirsiniz.

Kod değişiklikleri veya hata ayıklama için bir IDE'ye ihtiyacınız olursa Visual Studio Code'u veya istediğiniz başka bir düzenleyiciyi kullanabilirsiniz. Node.js ortamında bookingserver.js dosyasını başlatarak projenin hatalarını ayıklayın ve gerektiğinde kesme noktaları ayarlayın.

Rezervasyon sunucunuzu test etme

Rezervasyon testi yardımcı programını indirin. Yüklemek için README sayfasındaki yükleme talimatlarını uygulayın.

Testler için kimlik bilgilerinizi saklayacağınız bir metin dosyası oluşturmanız gerekir. Kullanıcı adınızı ve şifrenizi tek bir satıra girin. Örneğin, cred.txt adlı bir dosyaya şu şekilde girebilirsiniz:

username:password

Ayrıca, test satıcılarınız için bir stok durumu feed'inin yerel kopyasına da ihtiyacınız vardır. Aşağıdaki örnek komutlarda, stok durumu feed'i avail.json'dur.

Artık rezervasyon sunucunuzu şu komutlarla test edebilirsiniz:

  • HealthCheck yöntemine yapılan test çağrıları:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • CheckAvailability yöntemine yapılan test çağrıları:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
  • CreateBooking ve UpdateBooking yöntemlerine yapılan test çağrıları:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"

Kendi rezervasyon sunucunuzu uygularken, tüm testlerin başarılı olması (-all_tests=true) amacıyla sunucunuza karşı ek testler (ör.list_bookings_test, rescheduling_test vb.) çalıştırmanız gerekebilir.