# First Steps with ArchitectureKit

This tutorial builds a small **library** in Go step by step. You define the **events** of a book and the **state** they build, make **decisions** on commands, turn the events into a **view** that answers **queries**, serve commands and queries over **HTTP**, and finally **test** your decisions without a database. At the end, you have a small but complete application that follows **[CQRS](/concepts/cqrs)** and **[Event Sourcing](/concepts/event-sourcing)**, with **EventSourcingDB** as its event store.

## Before You Begin

You need **Go 1.27.1** or later, which ArchitectureKit requires, and **Docker** to run EventSourcingDB. The examples use `curl` to talk to EventSourcingDB and to the application.

If you want to get a first command running in a few minutes instead, see the **[Quickstart](/docs/architecturekit/quickstart)**. This tutorial covers the same ground and goes further, up to a tested HTTP API.
