> For the complete documentation index, see [llms.txt](https://quii.gitbook.io/learn-go-with-tests/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://quii.gitbook.io/learn-go-with-tests/master/build-an-application/app-intro.md).

# Intro

Now that you have hopefully digested the *Go Fundamentals* section you have a solid grounding of a majority of Go's language features and how to do TDD.

This next section will involve building an application.

Each chapter will iterate on the previous one, expanding the application's functionality as our product owner dictates.

New concepts will be introduced to help facilitate writing great code but most of the new material will be learning what can be accomplished from Go's standard library.

By the end of this you should have a strong grasp as to how to iteratively write an application in Go, backed by tests.

* [HTTP server](/learn-go-with-tests/master/build-an-application/http-server.md) - We will create an application which listens to HTTP requests and responds to them.
* [JSON, routing and embedding](/learn-go-with-tests/master/build-an-application/json.md) - We will make our endpoints return JSON, explore how to do routing and learn about type embedding.
* [IO ](/learn-go-with-tests/master/build-an-application/io.md) - We will persist and read our data from disk and we'll cover sorting data.
* [Command line](/learn-go-with-tests/master/build-an-application/command-line.md) - We will create a new program leveraging the code we've made so far to make a command line interface. This will involve us restructuring our project to support multiple binaries
* [Time](/learn-go-with-tests/master/build-an-application/time.md) - We will schedule some activities that happen at different times depending on user input.&#x20;


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://quii.gitbook.io/learn-go-with-tests/master/build-an-application/app-intro.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
