# 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](https://quii.gitbook.io/learn-go-with-tests/build-an-application/http-server) - We will create an application which listens to HTTP requests and responds to them.
* [JSON, routing and embedding](https://quii.gitbook.io/learn-go-with-tests/build-an-application/json) - We will make our endpoints return JSON and explore how to do routing.
* [IO and sorting](https://quii.gitbook.io/learn-go-with-tests/build-an-application/io) - We will persist and read our data from disk and we'll cover sorting data.
* [Command line & project structure](https://quii.gitbook.io/learn-go-with-tests/build-an-application/command-line) - Support multiple applications from one code base and read input from command line.
* [Time](https://quii.gitbook.io/learn-go-with-tests/build-an-application/time) - using the `time` package to schedule activities.
* [WebSockets](https://quii.gitbook.io/learn-go-with-tests/build-an-application/websockets) - learn how to write and test a server that uses WebSockets.


---

# Agent Instructions: 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:

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

The question should be specific, self-contained, and written in natural language.
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.
