Skip to content

Address book tutorial

Greg Bowler edited this page May 11, 2026 · 2 revisions

The address book tutorial is where the project starts to feel more like a production application. It uses a real database, spans multiple pages, and benefits from a clearer application architecture.

What we'll build

The application will include:

  • a multi-page structure
  • shared layout
  • database-driven pages
  • better layering between page logic and application classes
  • stronger testing and deployment concerns

It also adds a lightweight idea of user ownership so different people can keep their own address books.

Build steps

A sensible order is:

  1. build the index page in HTML first
  2. add the page for a single record
  3. add create and edit flows
  4. move data access and behaviour into application classes
  5. connect the database
  6. associate records with a simple username identity

By this stage the project starts to use most of the ideas in the earlier chapters together.

Taking it further

Once the core address book works, natural next steps include stricter validation, stronger security, a better authentication system, and fuller test coverage.

If the simple username identifier becomes too limiting, it can later be replaced by a proper authentication mechanism rather than being baked into every part of the app from the start.


When starting a new application with gt create, we can start with any of these tutorials or pick from other blueprints.

Clone this wiki locally