Aplicativo Bookshelf em Ruby

O Bookshelf é um exemplo de aplicativo da Web escrito em Ruby que mostra como usar vários produtos do Google Cloud Platform (GCP). Entre eles:

  • Ambiente flexível do App Engine
  • Cloud SQL
  • Cloud Datastore
  • Cloud Storage
  • Cloud Pub/Sub

Neste tutorial você verá informações sobre o aplicativo de amostra Bookshelf e como cada recurso do aplicativo é implementado usando tecnologias e serviços fornecidos pelo GCP.

O aplicativo de amostra Bookshelf é baseado no framework do aplicativo da Web Ruby on Rails, mas os conceitos e tecnologias explorados são aplicáveis independentemente de qual framework você usa. É possível implementar o aplicativo em outro framework da Web em Ruby baseado em Rack, como o Sinatra (ambos em inglês).

Captura de tela do app Bookshelf mostrando controles e capas de livros

No Bookshelf, há uma coleção de títulos de livros. Qualquer pessoa com acesso ao aplicativo pode modificar a lista. O aplicativo de amostra permite aos usuários:

  • ver a lista de livros;
  • adicionar livros à lista;
  • remover livros da lista;
  • editar detalhes do livro;
  • carregar imagens de capa para livros;
  • fazer login com uma Conta do Google e ver os livros que eles adicionaram à lista.

Objetivos

  • Clonar ou fazer o download do app de amostra.
  • Criar o app e executá-lo na máquina local.
  • Implantar o aplicativo no App Engine.
  • Analisar o código de amostra.
  • Saber como o app armazena dados estruturados.
  • Descobrir como os dados binários são armazenados pelo app no Cloud Storage.
  • Saber como o app autentica os usuários.
  • Saber como o app cria registros de eventos que podem ser vistos no Console do Google Cloud Platform.
  • Saber como o app usa o Cloud Pub/Sub para enviar tarefas a um trabalhador em segundo plano.

Custos

Neste tutorial, há componentes do GCP passíveis de cobrança, incluindo o Google Compute Engine.

Este tutorial tem várias etapas e cada uma está documentada na própria página. Na página final, há instruções sobre como remover os recursos para que você não seja cobrado pelos serviços do GCP. Caso decida não concluir todas as etapas do tutorial, consulte as instruções de remoção na última página.

Antes de começar

  1. Para configurar o projeto do Google Cloud Platform, use o Console do GCP:
    1. Crie um projeto do GCP e um aplicativo do App Engine. Depois, ative o faturamento nesse projeto.
      Acessar o App Engine

      Quando solicitado, selecione uma região para o aplicativo do App Engine e ative o faturamento. Assim que o projeto do GCP é criado, o Painel é aberto.

    2. Ativar Cloud Datastore, Cloud Pub/Sub, Cloud Storage JSON, Stackdriver Logging e Google+ APIs.

      Ativar as APIs

  2. Faça o download, instale e inicialize o SDK do Cloud.
    Fazer o download do SDK do Cloud
  3. Adquira as credenciais locais para fazer a autenticação nos serviços do GCP.
    gcloud auth application-default login
  4. Verifique se o projeto padrão está correto.
    gcloud config list
    Se o código listado na resposta não for do projeto que você pretendia usar para este tutorial, configure o projeto.
    gcloud config set project [YOUR_PROJECT_ID]
    em que [YOUR_PROJECT_ID] é o código do projeto que você criou ou escolheu usar neste tutorial.
  5. Clone o repositório de amostra.

    git clone https://github.com/GoogleCloudPlatform/getting-started-ruby.git

    Outra opção é fazer o download da amostra como um arquivo zip e extraí-lo.

Neste tutorial, presume-se que você está familiarizado com o Ruby on Rails e tem o Ruby versão 2.0.0 ou mais recente instalado (em inglês). Para executar o comando gem, é necessário ter o RubyGems, que faz parte do Ruby. Você também precisa ter o Bundler instalado. Como na maioria dos desenvolvimentos do Ruby, a instalação das gems do Ruby neste tutorial requer a compilação de código C e a vinculação com bibliotecas do sistema. Verifique se você tem um ambiente de desenvolvimento adequado e configurado para o sistema operacional específico que está usando. Isso inclui um compilador C, um vinculador e arquivos de cabeçalho para as bibliotecas do sistema.

Estrutura do tutorial

O tutorial do Bookshelf tem várias partes que demonstram como o app de amostra usa os diversos serviços do GCP.

Na parte sobre dados estruturados, você verá como o aplicativo de amostra armazena informações de livros em um banco de dados SQL ou NoSQL.

A página da Web do aplicativo exibe um formulário em que o usuário pode inserir o título, o autor, a descrição e a data de publicação de um livro. O aplicativo armazena essas informações em um banco de dados para que possam ser recuperadas posteriormente para visualização ou edição. Nesta etapa do tutorial, você tem três opções de bancos de dados: Cloud SQL, Cloud Datastore ou PostgreSQL. Depois de concluir esta etapa com um deles, avance para a próxima etapa.

A parte do Cloud Storage deste tutorial demonstra como o aplicativo de amostra armazena dados binários no Cloud Storage. Na página da Web do app, o usuário pode especificar uma imagem de capa para cada livro. Então, o aplicativo as armazena em um intervalo do Cloud Storage.

A parte de autorização deste tutorial mostra como o aplicativo de amostra fornece um fluxo de login para o usuário. Quando um usuário está conectado, todos os livros inseridos são associados a ele. Os usuários conectados veem os livros deles e livros criados por usuários anônimos, que não podem ver livros criados por um usuário conectado.

Na parte de geração de registro deste tutorial, é demonstrado como o aplicativo de amostra grava registros visíveis no Console do Google Cloud Platform. Com registros desse tipo, você encontra informações de diagnóstico durante o desenvolvimento do aplicativo.

A parte do Cloud Pub/Sub deste tutorial demonstra como o aplicativo usa o Cloud Pub/Sub para enviar tarefas para um worker em segundo plano. O worker coleta informações da API Google Books e atualiza o livro no banco de dados.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…