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.
golang-standards/project-layoutStandard Go Project Layout
ardanlabs/service8.8 5.9 gobase VS ardanlabs/serviceStarter code for writing web services in Go using Kubernetes.
modern-go-application8.0 0.0 gobase VS modern-go-applicationModern Go Application example
go-restful-api7.9 0.0 gobase VS go-restful-apiAn idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
cookiecutter-golang7.1 0.0 gobase VS cookiecutter-golangA Go project template
pagoda7.1 2.7 gobase VS pagodaRapid, easy full-stack web development starter kit in Go
golang-templates/seed6.2 4.6 gobase VS golang-templates/seedGo application GitHub repository template.
go-starter6.1 0.0 gobase VS go-starterAn opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps.
go-todo-backend5.5 0.0 gobase VS go-todo-backendGo Todo Backend example using modular project layout for product microservice.
scaffold4.9 0.0 gobase VS scaffoldGenerate scaffold project layout for Go.
go-sample4.6 0.0 gobase VS go-sampleGo Project Sample Layout
wangyoucao577/go-project-layoutMy understanding of how to structure a golang project.
insidieux/inizio1.4 3.1 gobase VS insidieux/inizioGolang project standard layout generator
go-module1.1 10.0 gobase VS go-module🧩 Template for a typical module written on Go.
Static code analysis for 29 languages.
Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.
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.