This repository demonstrates a modern-feeling web application in pure Golang using the ultra-minimal "THyMe" stack, (Templ, HTMX, Minimux), with no custom JavaScript.
In addition to the application itself, it also demonstrates UI integration tests using Ginkgo and Biloba).
This application is more-or-less 1-to-1 with the example application from the book Hypermedia Systems, (though currently incomplete) and the original Python version can be found here.
This project expects a Go environment to be installed and set up, along with a basic POSIX environment. All other tools be will installed by the build system as needed.
make run
# Or
make bin/app
bin/app [-addr localhost:8080] [-db db.json]
make test
- model/model.go - Contact data model and fake database interface
- routes/routes.go - Constants and functions for building page paths
- templates/*.templ - Page and sub-page templates
- static/ - Static site data
- app.go - Entrypoint
- contacts_app_thyme_suite_test.go, app_test.go - Browser tests
- Makefile, make-env.yaml, make-env.Makefile - Build/Dependency management