Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jrschumacher/go-template
https://github.com/jrschumacher/go-template
Last synced: 22 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/jrschumacher/go-template
- Owner: jrschumacher
- License: mit
- Created: 2021-10-15T10:40:14.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-07T02:02:23.000Z (over 1 year ago)
- Last Synced: 2024-10-04T20:37:26.511Z (about 1 month ago)
- Language: Go
- Size: 143 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A Go Template
This is an example go application which includes a single application with two interfaces, HTTP and CLI.
**Project layout structure was adapted from [go-standards/project-layout](https://github.com/golang-standards/project-layout/tree/master/internal)**
## Features
- [x] Rest API
- [x] Swagger
- [x] CLI
- [x] Subcommands
- [ ] Config
- [x] Dynamic build config
- [ ] Env variables
- [ ] Tests
- [x] Build
- [x] Dockerfile### Dependencies
- [gorilla/Mux](https://github.com/gorilla/mux) - A powerful HTTP router and URL matcher for building Go web servers with 🦍
- [spf13/Cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions.
- [swaggo/Swag](https://github.com/swaggo/swag) - Automatically generate RESTful API documentation with Swagger 2.0 for Go.
- [stretchr/testify](https://github.com/stretchr/testify) - A toolkit with common assertions and mocks that plays nicely with the standard library.
- [tidwall/Buntdb](https://github.com/tidwall/buntdb) - A low-level, in-memory, key/value store in pure Go. (*only used to demonstrate functionality*)#### Additional optional dependencies
- [gorilla/*](https://github.com/gorilla) - Websockets, middleware, csrf, sessions, etc
- [spf13/viper](https://github.com/spf13/viper) - Viper is a complete configuration solution for Go applications including 12-Factor apps.## Use
To use this clone the repo and make changes as you need. All build and doc generation is handled through `make`.