├── .gitignore ├── .ignore ├── README.md ├── assets ├── embed.go ├── public │ └── html │ │ ├── footer.tmpl │ │ ├── index.html │ │ └── navbar.tmpl └── static │ └── style.css ├── check.sh ├── common ├── common.go ├── config.go └── timeago.go ├── config.toml ├── data ├── data.go ├── main.go └── models.go ├── gitleaks.toml ├── go.mod ├── go.sum ├── handlers ├── healthcheck.go ├── helper.go ├── index.go ├── route.go └── template.go ├── main.go ├── service ├── mapcache.go └── service.go └── unique_code.py /.gitignore: -------------------------------------------------------------------------------- 1 | # If you prefer the allow list template instead of the deny list, see community template: 2 | # https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore 3 | # 4 | # Binaries for programs and plugins 5 | *.exe 6 | *.exe~ 7 | *.dll 8 | *.so 9 | *.dylib 10 | 11 | # Test binary, built with `go test -c` 12 | *.test 13 | 14 | # Output of the go coverage tool, specifically when used with LiteIDE 15 | *.out 16 | 17 | # Dependency directories (remove the comment below to include it) 18 | # vendor/ 19 | 20 | # Go workspace file 21 | go.work 22 | 23 | .idea 24 | -------------------------------------------------------------------------------- /.ignore: -------------------------------------------------------------------------------- 1 | vendor -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Go-Http-Template 2 | 3 | Opinionated template of how I organise Go code to create HTTP webservices. 4 | 5 | Use if you like, or don't. If you do you will want to replace the name "changeme" as the package. -------------------------------------------------------------------------------- /assets/embed.go: -------------------------------------------------------------------------------- 1 | package assets 2 | 3 | import ( 4 | "embed" 5 | ) 6 | 7 | //go:embed public 8 | var Assets embed.FS 9 | -------------------------------------------------------------------------------- /assets/public/html/footer.tmpl: -------------------------------------------------------------------------------- 1 | {{ define "footer" }} 2 |
13 | {{ end }} -------------------------------------------------------------------------------- /assets/public/html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
17 |Suspendisse nec eros volutpat, euismod quam a, iaculis augue. Nam enim ipsum, condimentum ac mattis quis, gravida sit amet ipsum. Nulla posuere, libero vel fermentum convallis, dolor risus lacinia sapien, commodo mattis ligula justo in arcu. Nam vitae lacinia metus. Vivamus a venenatis sapien. Nulla in metus turpis. Nam sed tortor ornare, interdum libero at, dapibus est. Suspendisse ultricies metus id justo feugiat cursus. Phasellus sit amet finibus mauris, ut tincidunt odio. Vestibulum hendrerit interdum dignissim. Pellentesque quis sapien id nisi faucibus molestie. Vestibulum laoreet congue molestie. Pellentesque malesuada sapien ut cursus sodales. Quisque et odio eu eros hendrerit hendrerit sed posuere erat.
23 |Suspendisse porttitor lorem at suscipit fringilla. Nulla ultricies mi ut consequat luctus. Nullam eget purus justo. Donec ultrices, nibh quis varius vulputate, elit nisi fermentum libero, id viverra justo libero et orci. Aenean sagittis purus a dui malesuada placerat. Pellentesque eros nibh, accumsan at nisl sit amet, tincidunt dapibus tortor. Aliquam erat volutpat. Ut porttitor metus velit, nec venenatis turpis imperdiet in. In eu pretium tortor. Nam quis sapien at lacus eleifend sodales. Cras ante nunc, dignissim sed consequat ac, aliquet sed arcu. Donec ultricies elit eget vestibulum euismod. Nullam imperdiet leo a est luctus, sit amet luctus neque rhoncus. Nam vel semper enim.
29 |