gobase alternatives and similar packages
Based on the "Project Layout" category.
Alternatively, view gobase alternatives based on common mentions on social networks and blogs.
Standard Go Project Layout
4.7 7.9 gobase VS golang-templates/seedGo application GitHub repository template.
Do you think we are missing an alternative of gobase or a related project?
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)
[your_pkg_name]in the all files
- /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
# 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
# install clonegopkg go install github.com/wajox/[email protected] # 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
- ginkgo with gomega
- 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.