Squelette de serveur de réservation pour Node.js

Il s'agit d'une implémentation de référence de l'API v3 Booking Server pour l'intégration standard basée sur Node.js.

Conditions préalables

Nécessite l'installation de

Getting Started

Le serveur de réservation est implémenté à l'aide de Node.js standard sans bibliothèques ni frameworks supplémentaires, à des fins d'illustration. Si vous utilisez un autre framework, vous pouvez facilement remplacer cette implémentation par Express.js, MEAN.js ou tout autre framework basé sur Node.js de votre choix.

L'implémentation n'utilise pas non plus de bibliothèques de tampon de protocole, mais repose sur une simple sérialisation JSON et ses méthodes JSON.parse() et JSON.stringify().

Pour télécharger le projet, exécutez la commande suivante:

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

Le code base se compose uniquement de deux fichiers JavaScript:

  • réservationserver.js : serveur HTTP et logique de traitement des requêtes, y compris l'authentification
  • apiv3methods.js : méthodes pour mettre en œuvre l'interface de l'API v3

Après avoir téléchargé les fichiers, vous pouvez démarrer le serveur de réservation en exécutant la commande suivante:

node bookingserver.js

Le squelette écrit toutes les requêtes entrantes et sortantes dans la console, ce qui vous permet de surveiller son exécution à des fins de traçage.

Si vous avez besoin d'un IDE pour modifier ou déboguer le code, vous pouvez utiliser Visual Studio Code ou tout autre éditeur de votre choix. Déboguez le projet en démarrant le fichier "bookingserver.js" dans l'environnement Node.js et définissez des points d'arrêt si nécessaire.

Tester votre serveur de réservation

Téléchargez l'utilitaire de test de réservation. Pour l'installer, suivez les instructions d'installation fournies dans sa page README.

Pour les tests, vous devez créer un fichier texte afin de stocker vos identifiants. Saisissez votre nom d'utilisateur et votre mot de passe sur une seule ligne, par exemple dans un fichier nommé cred.txt:

nomutilisateur:mot de passe

Vous avez également besoin d'une copie en magasin d'un flux de disponibilité pour vos marchands test. Dans les exemples de commandes ci-dessous, le flux "Disponibilité" est avail.json.

Vous pouvez maintenant tester votre serveur de réservation à l'aide des commandes suivantes:

  • Tester les appels à la méthode HealthCheck :
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Tester les appels à la méthode CheckAvailability :
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Appels de test aux méthodes CreateBooking et UpdateBooking :
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

Lorsque vous implémentez votre propre serveur de réservation, vous devrez peut-être y exécuter des tests supplémentaires (par exemple, list_bookings_test, reschedule_test, etc.) pour que tous les tests réussissent (-all_tests=true).