Popularity
3.0
Declining
Activity
0.0
Stable
61
3
4
Programming language: Go
License: MIT License
Tags:
Miscellaneous
Project Layout
gobase alternatives and similar packages
Based on the "Project Layout" category.
Alternatively, view gobase alternatives based on common mentions on social networks and blogs.
-
go-restful-api
An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture -
go-starter
An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
Promo
www.saashub.com
Do you think we are missing an alternative of gobase or a related project?
README
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
*Note that all licence references and agreements mentioned in the gobase README section above
are relevant to that project's source code only.