The Bookshelf app is a sample web app written in Java that shows how to use a variety of Google Cloud Platform (GCP) products, including:
- App Engine standard environment
- Cloud Datastore
- Cloud Storage
This tutorial explores the Bookshelf app and discusses how each feature of the app is implemented using familiar technologies and services provided by GCP.The Bookshelf app is based on the javax.servlet web application framework and uses JavaServer Pages. The Bookshelf sample app uses Servlets because of their simplicity and ease of use. However, the concepts and technologies explored are applicable regardless of which framework you use.
The Bookshelf sample app stores a collection of book titles. Anyone who has access to the app can add books to the list. The sample app offers these features:
- Users can view the list of books
- Users can add and remove books from the list.
- Users can edit book details.
- Users can upload cover images for books.
- Users can log in with their Google accounts and view the books that they have added to the list.
- Clone or download the sample app.
- Build the app and run it on your local machine.
- Deploy the app to App Engine.
- Walk through the sample code.
- Learn how the app stores structured data.
- Learn how the app stores binary data in Cloud Storage.
This tutorial uses billable components of GCP.
This tutorial has several steps, and each step is documented on its own page. The final page of the tutorial includes instructions for cleaning up resources, so you won't continue to be billed for GCP services. If you decide not to complete all the steps of the tutorial, see the cleanup instructions on the final page.
Before you begin
Use the GCP Console to set up your Google Cloud Platform project:
Create a new GCP project, and then create an
App Engine app and enable billing in that project.
to App Engine
When prompted, select the region where you want your App Engine app located and then enable billing. After your GCP project is created, the Dashboard opens.
- Enable the Cloud Storage JSON, Stackdriver Logging, and Google+ APIs.
- Create a new GCP project, and then create an App Engine app and enable billing in that project. Go to App Engine
- To deploy a Java app to App Engine, you must first set up your environment. See Using Apache Maven and the App Engine plugin for details.
Download, install, and initialize the Cloud SDK:
Download the Cloud SDK
Clone the sample repository.
git clone https://github.com/GoogleCloudPlatform/getting-started-java.git
Alternatively, you can download the sample as a zip file and extract it.
The Bookshelf tutorial has several parts that demonstrate how the sample app uses various GCP services.