Booking Server Skeleton per Node.js

Questa è un'implementazione di riferimento del server di prenotazione 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 facilmente modificare questa implementazione in Express.js, MEAN.js o qualsiasi altro framework basato su Node.js a tua scelta.

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

Per scaricare il progetto, esegui il seguente comando:

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

L'intera base di codice è composta da soli due file JavaScript:

  • bookingserver.js: logica di gestione del server HTTP e delle richieste, inclusa l'autenticazione
  • apiv3methods.js: metodi che implementano l'interfaccia API v3

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 monitorarne l'esecuzione a fini di tracciamento.

Se hai bisogno di un IDE per le modifiche o il debug del codice, puoi utilizzare Visual Studio Code o qualsiasi altro editor scelto da te. Esegui il debug del progetto avviando bookingserver.js nell'ambiente Node.js e imposta i breakpoint dove necessario.

Testare il server di prenotazione

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

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

username:password

Inoltre, devi disporre di una copia locale di un feed di disponibilità per i commercianti di prova. Nei comandi di esempio riportati di seguito, il feed di 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"
  • Prova le chiamate 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"

Quando implementi il tuo Booking Server, 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).