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

Aşağıdakilerin yüklenmesi gerekir:

Başlarken

Rezervasyon sunucusu, açıklama amacıyla ek kitaplık veya çerçeve olmadan standart Node.js kullanılarak uygulanır. Başka bir çerçeve kullanıyorsanız bu uygulamayı Express.js, MEAN.js veya dilediğiniz başka bir Node.js tabanlı çerçeveyle kolayca değiştirebilirsiniz.

Uygulamada protokol arabelleği kitaplıkları da kullanılmaz. Bunun yerine basit JSON serileştirme ve JSON.parse() ile JSON.stringify() yöntemleri kullanılı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 olmak üzere HTTP sunucusu ve istek işleme mantığı
  • apiv3methods.js: API v3 arayüzünü uygulayan yöntemler

Dosyaları indirdikten sonra aşağıdaki 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ütmesini izleyebilirsiniz.

Kod değişiklikleri veya hata ayıklama için bir IDE'ye ihtiyacınız varsa Visual Studio Code'u veya dilediğiniz başka bir düzenleyiciyi kullanabilirsiniz. Node.js ortamında bookingserver.js dosyasını başlatarak projede hata ayıklama yapı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ında verilen yükleme talimatlarını uygulayın.

Testler için kimlik bilgilerinizi depolayacak bir metin dosyası oluşturmanız gerekir. Kullanıcı adınızı ve şifrenizi tek bir satıra girin (ör. cred.txt adlı bir dosyaya):

username:password

Test satıcılarınız için bir müsaitlik durumu feed'inin yerel bir kopyasına da ihtiyacınız vardır. Aşağıdaki örnek komutlarda stok durumu feed'i avail.json olarak verilmiştir.

Artık rezervasyon sunucunuzu aşağıdaki komutlarla test edebilirsiniz:

  • HealthCheck yöntemine yapılan çağrıları test edin:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • CheckAvailability yöntemine yapılan çağrıları test edin:
    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 çağrıları test edin:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"

Kendi rezervasyon sunucunuzu uygularken tüm testlerin geçmesi (-all_tests=true) amacıyla bu sunucu üzerinde ek testler (ör.list_bookings_test, rescheduling_test vb.) çalıştırmanız gerekebilir.