Booking Server Skeleton per Node.js

Questa è un'implementazione di riferimento del server di prenotazione dell'API v3 per l'integrazione standard basata su Node.js

Prerequisiti

Richiede l'installazione di

Per iniziare

Il server di prenotazione è implementato utilizzando Node.js standard senza librerie o framework aggiuntivi, a scopo illustrativo. Se utilizzi altri framework, puoi modificare facilmente questa implementazione in Express.js, MEAN.js o qualsiasi altro framework basato su Node.js di tua scelta.

L'implementazione non utilizza nemmeno le librerie di buffer del protocollo, ma si basa sulla semplice serializzazione JSON e sui metodi JSON.parse() e JSON.stringify().

Per scaricare il progetto, esegui questo comando:

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

L'intero codebase è costituito da soli due file JavaScript:

  • bookingserver.js: logica di gestione di richieste e server HTTP, inclusa l'autenticazione
  • apiv3methods.js - methods implementing API v3 interface

Dopo aver scaricato i file, puoi avviare il server di prenotazione eseguendo il comando:

node bookingserver.js

Lo scheletro scrive tutte le richieste in entrata e in uscita nella console, in modo da poter monitorare la sua esecuzione a scopo di tracciamento.

Se hai bisogno di un IDE per modifiche al codice o debug, puoi utilizzare Visual Studio Code o qualsiasi altro editor di tua scelta. Esegui il debug del progetto avviando bookingserver.js nell'ambiente Node.js e imposta i punti di interruzione dove necessario.

Testare il server di prenotazione

Scarica l'utilità di test delle prenotazioni. Per installarlo, segui le istruzioni di installazione fornite nella pagina README.

Per i test, devi creare un file di testo in cui archiviare le tue credenziali. Inserisci il nome utente e la password su una singola riga, ad esempio in un file denominato cred.txt:

username:password

Devi anche avere una copia locale di un feed della disponibilità per i tuoi commercianti di test. Nei comandi di esempio riportati di seguito, il feed Disponibilità è avail.json.

Ora puoi testare il server di prenotazione con questi comandi:

  • Testa le chiamate al metodo HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
  • Chiamate di test al metodo CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
  • Testa le chiamate ai metodi CreateBooking e UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"

Durante l'implementazione del tuo server di prenotazione, potresti dover eseguire test aggiuntivi (ad es. list_bookings_test, rescheduling_test e così via) con l'obiettivo di superare tutti i test (-all_tests=true).