Esqueleto do servidor de reservas para Node.js

Esta é uma implementação de referência de Servidor de agendamento da API v3 para integração padrão e Servidor de agendamento da API v3 para integração de listas de espera com base no Node.js

Pré-requisitos

Exige uma instalação de

Primeiros passos

O servidor de reserva é implementado usando o Node.js padrão sem bibliotecas ou frameworks adicionais, para fins de ilustração. Se você usa outras estruturas, é possível alterar facilmente essa implementação para Express.js, MEAN.js ou qualquer outro framework baseado em Node.js de sua escolha.

A implementação também não está usando bibliotecas de buffer de protocolo, mas depende da serialização JSON simples e dos métodos JSON.parse() e JSON.stringify()

Para fazer o download do projeto, execute o seguinte comando:

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

Toda a base de código consiste apenas em dois arquivos JavaScript:

  • reservaserver.js: servidor HTTP e solicitação de lógica de processamento, incluindo autenticação
  • apiv3methods.js: métodos que implementam a interface da API v3

Depois de fazer o download dos arquivos, execute o comando:

node bookingserver.js

O esqueleto grava todas as solicitações de entrada e saída no console. Assim, é possível monitorar a execução dele para fins de rastreamento.

Se você precisar de um ambiente de desenvolvimento integrado para alterações de código ou depuração, use o Visual Studio Code ou qualquer outro editor de sua escolha. Depure o projeto iniciando bookingsserver.js no ambiente Node.js e defina pontos de interrupção quando necessário.

Como testar seu servidor de agendamento

Faça o download do Utilitário de teste de agendamento. Para instalá-lo, siga as instruções de instalação fornecidas na página README.

Para os testes, é necessário criar um arquivo de texto para armazenar suas credenciais. Digite o nome de usuário e a senha em uma única linha, por exemplo, em um arquivo chamado cred.txt:

nomedeusuario:senha

Você também precisa de uma cópia local de um feed de disponibilidade para os comerciantes de teste. Nos exemplos de comandos abaixo, o feed de disponibilidade é avail.json.

Agora você pode testar seu servidor de agendamento com estes comandos:

  • Chamadas de teste para o método HealthCheck:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Chamadas de teste para o método CheckAvailability:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Teste as chamadas para os métodos CreateBooking e UpdateBooking:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

À medida que você implementa seu próprio servidor de agendamento, talvez seja necessário executar outros testes nele (por exemplo, list_bookings_test, reschedule_test etc.) com o objetivo de passar em todos os testes (-all_tests=true).