Skip to content
CAI
Software that uses CAICheck a score

astaxie/build-web-application-with-golang

35.3

Weak · 24 September 2026

13.8k

lines of production code

Go

primary language

5

measurements over time

CAI band scale
CAI trend line
CAI lens gauges

What this system is

This repository serves as a comprehensive, multi-lingual educational resource for learning the Go programming language. It provides complete tutorial content, including documentation and executable code examples, translated into English, Portuguese, Spanish, Japanese, Thai, and both Simplified and Traditional Chinese. The curriculum covers Go fundamentals, web development, and data access patterns using SQL, MongoDB, and Redis, enabling developers to follow along in their native language.

How it got here

2013–2014 — Multilingual tutorial expansion

11 changes.

This period focused on expanding the Go programming language tutorial into multiple languages, including English, Japanese, Chinese, and Spanish. The work involved adding comprehensive documentation, code examples, and database integration guides to support learners in their respective native languages.

2015 — multilingual localization

8 changes.

This period focused on expanding the project's internationalization by adding complete Brazilian Portuguese and German translations for the Go programming language guide. The work involved translating documentation, code examples, and setup instructions for multiple chapters, enabling Portuguese and German-speaking users to follow the tutorials in their native languages.

2016–2019 — Internationalization and localization

5 changes.

This period focused on expanding the project's global reach by adding comprehensive translations for the Go programming guide and example code in Thai and Traditional Chinese. Additionally, it addressed a missing source file issue for the Japanese edition and introduced new Go web application examples to support these localized tutorials.

Features

Add English version of Go tutorial code examples

The repository now includes a complete English version of the Go tutorial code examples, located under the \en/\ directory. This includes a \readme.md\ for workspace setup, along with Go source files (\\*.go\) and HTML templates (\.gtpl\) covering chapters 1 through 4. These files provide the English-language counterpart to the existing Portuguese (pt-br) translations, allowing users to follow the 'Build Web Application with Golang' tutorial in English.

(repo-wide) · high confidence

Add Go example for PostgreSQL CRUD operations

A new example application for Chapter 5.4 demonstrates how to perform Create, Read, Update, and Delete (CRUD) operations on a PostgreSQL database using the Go \database/sql\ package and the \github.com/lib/pq\ driver. The addition includes the Go source code (\main.go\) to connect to the database and execute queries, a \schema.sql\ file to create the required \userinfo\ table, and a \readme.md\ with setup instructions.

de/code/src/apps/ch.5.4, en/code/src/apps/ch.5.4 · high confidence

Add Portuguese (Brazil) translations for Chapter 2.2 Go code examples

New Go source files for Chapter 2.2 are now available in Brazilian Portuguese, providing translated code examples for data types, strings, arrays, and error handling to support Portuguese-speaking learners.

pt-br/code/src/apps/ch.2.2 · high confidence

Add Traditional Chinese (zh-tw) translation for Go programming guide

Users can now read the Go programming language guide in Traditional Chinese. This includes comprehensive translations for all chapters covering Go's environment configuration, basic syntax, object-oriented features, concurrency, and web development, enabling Traditional Chinese-speaking developers to learn and reference the material in their native language.

zh-tw · high confidence

Added Brazilian Portuguese translation for Chapter 1.2 example code

A new Go source file (main.go) has been added to the Brazilian Portuguese (pt-br) code directory for Chapter 1.2. This file contains the translated comments and the corresponding Go code for the 'Hello World' example, allowing users to verify their workspace setup in their native language.

pt-br/code/src/apps/ch.1.2 · high confidence

Added Brazilian Portuguese translations for Chapter 2.3 code examples

Added new Go source files in the pt-br directory for Chapter 2.3, providing Portuguese (Brazilian) translations of the code examples. The new files cover basic functions, hidden print methods, import packages, control flow (if/switch/loops), panic/recover, pass-by-value/reference, type functions, and variadic functions.

pt-br/code/src/apps/ch.2.3 · high confidence

Added Brazilian Portuguese translations for Chapter 5 example code

New example code and setup instructions for Chapter 5.2 (MySQL) and Chapter 5.6 (MongoDB and Redis) have been added to the pt-br (Brazilian Portuguese) directory. This includes Go source files (main.go), SQL schemas, and README setup guides for each example, enabling users to follow the book's data access examples in Portuguese.

pt-br/code/src/apps/ch.5.2, pt-br/code/src/apps/ch.5.6 · medium confidence

Added Brazilian Portuguese translations for Go web application examples

The repository now includes a complete set of Go source files and templates translated into Brazilian Portuguese (pt-br). This includes example code for chapters 2.5 through 5.5, covering topics such as methods, interfaces, concurrency, HTTP handling, and database operations, allowing Portuguese-speaking users to follow the tutorials in their native language.

(repo-wide) · high confidence

Added English documentation for Go environment setup and basic syntax

The English documentation for the Go programming language has been expanded to include comprehensive guides on environment configuration, installation methods, and basic syntax. New files (01.0.md through 02.3.md) now cover Go environment setup, $GOPATH configuration, Go commands, development tools, and foundational concepts such as variables, constants, control statements, and functions. This provides English-speaking users with complete, structured learning materials for getting started with Go.

en · high confidence

Added English eBook chapter on database development

The English version of the eBook now includes Chapter 5, which covers database development in Go. This new content introduces the \database/sql\ interface, SQL drivers, an ORM, and NoSQL databases like MongoDB and Redis.

en/eBook · high confidence

Added German translations for Go example code

Added a new folder for German translations containing Go source files for chapters 1.2, 2.1, 2.2, 2.4, 2.5, 2.6, 2.7, 3.2, 4.1, 4.2, 4.3, 4.4, and 4.5. These files provide German-language examples for learning Go, including basic programs, struct and method examples, template handling, and file upload handlers.

(repo-wide) · high confidence

Added Go code examples for Chapter 2.3

Added a new set of Go source files under de/code/src/apps/ch.2.3 that demonstrate core language features including basic functions, control flow (if/switch/loops), panic/recover, pass-by-value/pointer, function types, and variadic functions.

de/code/src/apps/ch.2.3 · high confidence

Added Go example code for building web applications

Added a new 'fa' directory containing Go source files and templates that demonstrate core web development concepts. This includes workspace setup instructions, basic Go syntax examples (types, functions, control flow), struct and method definitions, interface implementations, and concurrency patterns (goroutines, channels). The addition also covers HTTP handling, template rendering, form validation, and security measures like input escaping and CSRF token generation to prevent duplicate submissions.

(repo-wide) · high confidence

Added Go example for chapter 1.2

A new Go source file, main.go, was added to the ch.1.2 directory. It serves as a verification step for the workspace setup, importing a local 'mymath' package to calculate the square root of 2 and print the result.

es/code/src/apps/ch.1.2 · medium confidence

Added Go examples for SQL, MongoDB, and Redis CRUD operations

New example code has been added to demonstrate basic CRUD (Create, Read, Update, Delete) operations for three different data stores. The \ch.5.2\ directory now includes a Go application using the \go-sql-driver/mysql\ package to perform SQL operations, accompanied by a schema definition and setup instructions. Additionally, the \ch.5.6\ directory now contains separate Go applications for MongoDB (using the \mgo\ driver) and Redis (using \goredis\), each with corresponding README files explaining the setup and execution steps.

de/code/src/apps/ch.5.2, de/code/src/apps/ch.5.6 · high confidence

Added Go math package and environment setup guide

A new Go package named \mymath\ was added, containing a \Sqrt\ function that approximates the square root of a float64 value. Additionally, a \readme.md\ file was added to the \es/code\ directory, providing Spanish instructions on configuring the \GOPATH\ environment variable to ensure the project builds correctly from any directory.

es/code · high confidence

Added Thai translation example code for Go web application chapters

Added a new set of Go source files under the \th/code\ directory, providing Thai translations for example code from the 'Build Web Application with Golang' book. This includes chapters 1.2, 2.1–2.7, 3.2, 3.4, 4.1–4.4, covering topics such as basic Go syntax, structs, methods, interfaces, channels, and HTTP handling. The translation includes both \.go\ files and associated \.gtpl\ template files, enabling Thai-speaking users to follow the tutorial examples.

(repo-wide) · high confidence

Added example code for database and cache operations

Added new example applications for Chapter 5.2 and Chapter 5.6. Chapter 5.2 provides a Go application demonstrating CRUD operations using the MySQL SQL driver. Chapter 5.6 introduces two new examples: one for MongoDB using the mgo driver, and another for Redis using the goredis library, each accompanied by setup instructions.

en/code/src/apps/ch.5.2, en/code/src/apps/ch.5.6 · high confidence

Chinese documentation: Initial structure and comprehensive updates

The Chinese language documentation directory (zh/) has been initialized with a complete set of tutorial chapters covering Go environment configuration, language basics (variables, control flow, structs, OOP, interfaces, concurrency), and web development basics. The content includes detailed explanations, code examples, and navigation links for each section. Additionally, numerous minor fixes have been applied across the documentation, including typo corrections, formatting improvements, and updates to code snippets and links.

zh · high confidence

Complete Brazilian Portuguese translation for the Go programming language guide

The documentation has been fully translated into Brazilian Portuguese, covering all chapters from environment setup and basic syntax to object-oriented features. This includes new files for sections 01.0 through 02.5, providing users with a complete, localized resource for learning Go, including installation steps, command-line tool usage, and code examples in Portuguese.

pt-br · high confidence

Japanese translation of the Go programming language tutorial

The Japanese (ja) directory now contains the complete set of translated markdown files for the Go tutorial, covering environment setup, basic syntax, structs, interfaces, and concurrency. This adds the full Japanese version of the documentation, including chapters on installation, GOPATH, commands, development tools, and core language features.

ja · high confidence

Behavioural changes

6 commits (0 fixes) modifying en/images

A change to existing behaviour in en/images — 6 commits, 290 files.

en/images · medium confidence · unverified

Initial Thai translation for Go programming guide

Added the initial Thai language translation for the Go programming guide, covering sections on environment setup, installation, $GOPATH configuration, Go commands, development tools, and basic language features such as variables, control structures, structs, and functions.

th · high confidence

Fixes

Fix missing source files for Japanese book chapter 1.2

The build failure for the Japanese edition of the book was caused by the absence of the source code files for chapter 1.2. This change adds the missing \main.go\ and \sqrt.go\ files, which implement the Go application and its square root calculation, allowing the book's code samples to be built successfully.

ja/src · high confidence

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

How this codebase got here

Score

  • CAI 36 → 35 (-0.3)
  • Rubric changed (rubric-2026.08.19 → rubric-2026.09.15) — scores are not directly comparable.

Lenses

  • Code Health 93 → 93 (+0.7)
  • Architecture 100 → 100 (+0.0)
  • Maturity 38 → 38 (+0.0)
  • Readiness 15 → 15 (+0.0)
  • Security 48 → 45 (-2.6)

Resolved (58)

  • Dependency hygiene not measured — no supported dependency manifest was read
  • Duplicated block (10 lines × 2) (zh-tw/a_herf.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.2.3/basic_functions/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.4.3/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.5.5/main.go)
  • Duplicated block (11 lines × 2) (zh-tw/a_herf.go)
  • Duplicated block (11 lines × 2) (zh-tw/build.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.3/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.6/switch_type_check/main.go)
  • Duplicated block (12 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (12 lines × 2) (zh-tw/a_herf.go)
  • Duplicated block (12 lines × 4) (zh-tw/build.go)
  • Duplicated block (12 lines × 5) (de/code/src/apps/ch.2.4/embedded_structs/main.go)
  • Duplicated block (12 lines × 5) (de/code/src/apps/ch.4.5/client_upload/main.go)
  • Duplicated block (12 lines × 5) (de/code/src/apps/ch.5.6/mongodb/main.go)
  • Duplicated block (13 lines × 2) (zh-tw/a_herf.go)
  • Duplicated block (13 lines × 5) (de/code/src/apps/ch.5.3/main.go)
  • Duplicated block (13 lines × 5) (de/code/src/apps/ch.5.6/redis/main.go)
  • Duplicated block (14 lines × 10) (de/code/src/apps/ch.5.2/main.go)
  • Duplicated block (14 lines × 2) (zh-tw/build_new.go)
  • …and 38 more

New (204)

  • Duplicated block (10 lines × 10) (de/code/src/apps/ch.4.2/main.go)
  • Duplicated block (10 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (10 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (10 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (10 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.2.5/attach_methods_to_struct/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.5.5/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.5.5/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.5.5/main.go)
  • Duplicated block (10 lines × 5) (de/code/src/apps/ch.5.5/main.go)
  • Duplicated block (11 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (11 lines × 15) (de/code/src/apps/ch.4.2/validator/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.3/basic_functions/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.5/box_example/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.5/box_example/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.2.7/goroutine/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.4.1/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.4.3/main.go)
  • Duplicated block (11 lines × 5) (de/code/src/apps/ch.4.4/main.go)
  • Duplicated block (11–12 lines × 10) (de/code/src/apps/ch.3.2/main.go)
  • …and 184 more

Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.

Survey your own repository

astaxie/build-web-application-with-golang was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.

About this page

  • The score is its most recent published measurement, taken on 24 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
  • Measured at commit c294b087b96d99d2593ad8f470151af5354bb57f — the exact code this score is about.
  • Scored under rubric-2026.09.15 — the same rubric and the same method as every other entry in this index.
  • Measured by watchdog.canine.dev using codehealth-analyzer preprod-923689c465cf.