# naughtygopher/goapp

An opinionated guideline to structure & develop a Go web application/service

Repository: https://github.com/naughtygopher/goapp
Canonical: https://ross.abutalabs.com/products/goapp
Language: Go
License: MIT
License Family: permissive
Topics: go, webapp, webservice, webserver, project, golang-application, golang-examples, golang, golang-library, goapp, tutorial, awesome-go, awesome-golang, awesome-list
Last push: 2025-09-23T09:42:00+00:00

## Health v2 (maintenance only)
Score: 52/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 43, release rhythm 35, longevity 100
- inputs: {"age_days": 2251, "days_push": 344, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1070, forks 62 (observed 2026-08-28T04:03:27.887625+00:00)

## What it is
An opinionated guideline and reference repository for structuring and developing Go web applications and services, based on DDD and Clean Architecture principles. It demonstrates a recommended directory layout, dependency flow, error handling, and testing practices through an example note-taking web app.

## Use cases
- structure a go web application project
- learn clean architecture in golang
- how to organize a golang webservice codebase
- ddd project layout for go
- go project directory structure best practices
- example golang webapp skeleton

## When to choose
- starting a new Go web application or service and wanting a proven structure
- learning how DDD and Clean Architecture map to Go projects
- looking for a reference layout covering configs, API, datastore, HTTP server, and Docker

## When to avoid
- building a standalone Go library meant to be imported by other applications
- you need a fully working application with features rather than a structural guideline
- you prefer unopinionated or minimal project layouts

## Facets
- artifact type: learning-resource
- maturity: active
- function: developer-tools, documentation, web-framework
- domain: web-development, backend, developer-tools, tutorials
- platform: go, cli
- tags: project-structure, clean-architecture, ddd, golang-guidelines, awesome-list, boilerplate, docker

## Member repositories
- naughtygopher/goapp (main) score 52

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:27.887625+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:54:05.566249+00:00, confidence not recorded.
  - readme: https://github.com/naughtygopher/goapp (fetched 2026-08-28T04:03:27.887625+00:00, sha ca9845c8e23f)
- Data as of 2026-08-30T08:39:29.467469+00:00.
