Creating a Guestbook Application

This tutorial shows you how to implement a Go application for App Engine—a simple guestbook that lets users post messages to a public message board. It uses the Go http package to serve web pages and Go's html/template package.

The UI for the application looks like this:


  1. Clone the tutorial project.
  2. Walk through the code to see how to integrate your application with Google accounts, handle web forms, and store data in Google Cloud Datastore.
  3. Run, test, and deploy the project.


There are no costs associated with running this tutorial. This application does not exceed the free quota.

Before you begin

  1. If you don't have it installed, download Python 2.7. The Go software development kit (SDK) uses modified versions of the development tools from the Python SDK.
  2. Download the App Engine SDK for Go.
  3. Optionally, to simplify development and deployment, add the directory to the Go SDK to your PATH environment variable by adding the following line to your $HOME/.profile, $HOME/.bashrc, or equivalent:

  4. Sign in to your Google account.

    If you don't already have one, sign up for a new account.

    Select or create a Cloud Platform project.

    Go to the Projects page

  5. Note the Project ID, which might be different from the project name and is used in commands.

Cloning the project from GitHub

  1. Clone the Guestbook application repository to your local machine:

    git clone
  2. Switch to the branch with the final version of the application:

    cd appengine-guestbook-go/
    git fetch
    git checkout part4-usingdatastore

The cloned project contains several branches. In this tutorial we will only cover the project in the branch named part4-usingdatastore.

Building and running locally

To build and run the sample locally:

  1. From the project appengine-guestbook-go in the branch part4-usingdatastore, invoke the command:

    goapp serve
  2. The development web server is now running, and you can visit this URL in your browser:


  3. The app serves a page that allows anonymous users to sign the guestbook.

  4. Terminate the development server by pressing Control+C.

Understanding the code

To walk through the application code and see how it works, continue to the next page.

Send feedback about...

App Engine standard environment for Go