Skeleton del server di prenotazione per Node.js

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

Prerequisiti

Richiede l'installazione di

Per iniziare

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

Inoltre, l'implementazione non utilizza librerie di buffer di protocollo, ma si basa invece sulla semplice serializzazione JSON e sui relativi 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 solo da due file JavaScript:

  • Bookserver.js: server HTTP e logica di gestione delle richieste, inclusa l'autenticazione
  • apiv3methods.js : metodi per l'implementazione dell'interfaccia dell'API v3

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

node bookingserver.js

Lo schema scrive tutte le richieste in entrata e in uscita nella console, in modo che tu possa monitorarne l'esecuzione a fini di tracciamento.

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

Test del server di prenotazione

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

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

nome utente:password

È necessaria anche una copia locale di un feed di disponibilità per i commercianti di prova. Nei comandi di esempio riportati di seguito, il feed Disponibilità è avail.json.

Ora puoi testare il tuo server di prenotazione con questi comandi:

  • Chiamate di prova al metodo Controllo integrità:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Chiamate di prova al metodo CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Chiamate di prova 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 sul server (ad es. list_bookings_test, rescheduling_test e così via) in modo da far sì che tutti i test siano superati (-all_tests=true).