Product Promotion
0x5a.live
for different kinds of informations and explorations.
GitHub - wajox/gobase: This is a simple skeleton for golang applications
This is a simple skeleton for golang applications. Contribute to wajox/gobase development by creating an account on GitHub.
Visit SiteGitHub - wajox/gobase: This is a simple skeleton for golang applications
This is a simple skeleton for golang applications. Contribute to wajox/gobase development by creating an account on GitHub.
Powered by 0x5a.live ๐
GoBase
This is a simple skeleton for golang application. Inspired by development experience and updated according to github.com/golang-standards/project-layout.
How to use?
- Clone the repository (with git client
git clone github.com/wajox/gobase [project_name]
or use it as template on github for creating a new project) - replace
github.com/wajox/gobase
with[your_pkg_name]
in the all files
Structure
- /api - OpenAPI specs, documentation generated by swag
- /cmd - apps
- /db - database migrations and seeds
- /docs - documentation
- /internal - application sources for internal usage
- /pkg - application sources for external usage(SDK and libraries)
- /test - some stuff for testing purposes
Commands
# install dev tools(wire, golangci-lint, swag, ginkgo)
make install-tools
# start test environment from docker-compose-test.yml
make start-docker-compose-test
# stop test environment from docker-compose-test.yml
make stop-docker-compose-test
# build application
make build
# run all tests
make test-all
# run go generate
make gen
# generate OpenAPI docs with swag
make swagger
# generate source code from .proto files
make proto
# generate dependencies with wire
make deps
Create new project
With clonegopkg
# install clonegopkg
go install github.com/wajox/clonegopkg@latest
# create your project
clonegopkg clone [email protected]:wajox/gobase.git github.com/wajox/newproject
# push to your git repository
cd ~/go/src/github.com/wajox/newproject
git add .
git commit -m "init project from gobase template"
git remote add origin [email protected]:wajox/newproject.git
git push origin master
Tools and packages
- gin-gonic
- ginkgo with gomega
- spf13/viper
- spf13/cobra
- envy
- zerolog
- golangci-lint
- wire
- swag
- migrate
- protoc
- jsonapi
- docker with docker-compose
GoLang Resources
are all listed below.
GitHub - GuilhermeCaruso/anko: :crystal_ball: Simple application watcher
resource
~/github.com
resource
GitHub - jidicula/go-fuzz-action: GitHub Action for Go 1.18 fuzz testing
resource
~/github.com
resource
GitHub - tucnak/climax: Climax is an alternative CLI with the human face
resource
~/github.com
resource
GitHub - lawrencewoodman/roveralls: A Go recursive coverage testing tool
resource
~/github.com
resource
GitHub - nakagami/firebirdsql: Firebird RDBMS sql driver for Go (golang)
resource
~/github.com
resource
GitHub - liweiyi88/onedump: Effortlessly database dump with one command.
resource
~/github.com
resource
GitHub - beefsack/go-astar: Go implementation of the A* search algorithm
resource
~/github.com
resource
GitHub - lxn/walk: A Windows GUI toolkit for the Go Programming Language
resource
~/github.com
resource
GitHub - mongodb/mongo-go-driver: The Official Golang driver for MongoDB
resource
~/github.com
resource
GitHub - bykof/gostradamus: Gostradamus: Better DateTimes for Go ๐ฐ๏ธ
resource
~/github.com
resource
GitHub - mozillazg/go-unidecode: ASCII transliterations of Unicode text.
resource
~/github.com
resource
GitHub - bolknote/go-gd: Go bingings for GD (http://www.boutell.com/gd/)
resource
~/github.com
resource
GitHub - mosajjal/dnsmonster: Passive DNS Capture and Monitoring Toolkit
resource
~/github.com
resource
GitHub - haxpax/gosms: :mailbox_closed: Your own local SMS gateway in Go
resource
~/github.com
resource
GitHub - wajox/gobase: This is a simple skeleton for golang applications
resource
~/github.com
resource
GitHub - VividCortex/gohistogram: Streaming approximate histograms in Go
resource
~/github.com
resource
GitHub - malaschitz/randomForest: Random Forest implementation in golang
resource
~/github.com
resource
GitHub - google/gopacket: Provides packet processing capabilities for Go
resource
~/github.com
resource
GitHub - khezen/evoli: Genetic Algorithm and Particle Swarm Optimization
resource
~/github.com
resource
GitHub - didip/tollbooth: Simple middleware to rate-limit HTTP requests.
resource
~/github.com
resource
GitHub - mustafaakin/gongular: A different approach to Go web frameworks
resource
~/github.com
resource
GitHub - songgao/colorgo: Colorize (highlight) `go build` command output
resource
~/github.com
resource
Made with โค๏ธ
to provide different kinds of informations and resources.