cookiecutter-golang
A Go project template (by lacion)
service
Starter-kit for writing services in Go using Kubernetes. (by ardanlabs)
Our great sponsors
cookiecutter-golang | service | |
---|---|---|
2 | 18 | |
671 | 3,376 | |
- | 2.0% | |
2.4 | 9.6 | |
3 months ago | about 17 hours ago | |
Go | Go | |
MIT License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cookiecutter-golang
Posts with mentions or reviews of cookiecutter-golang.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-07-07.
-
How awesome is cookiecutter?
~ cookiecutter https://github.com/lacion/cookiecutter-golang.git full_name [Luis Morales]: Ricardo Castro github_username [lacion]: mccricardo app_name [mygolangproject]: demo project_short_description [A Golang project.]: A demo docker_hub_username [lacion]: mccricardo docker_image [lacion/alpine-base-image:latest]: golang:1.16.5-apline3.14 docker_build_image [lacion/alpine-golang-buildimage]: golang:1.16.5-apline3.14 Select docker_build_image_version: 1 - 1.13 2 - 1.12.9 3 - 1.11.9 Choose from 1, 2, 3 [1]: 1 Select go_mod_or_dep: 1 - mod 2 - dep Choose from 1, 2 [1]: 1 use_docker [y]: y use_git [y]: y use_logrus_logging [y]: y use_viper_config [y]: y use_cobra_cmd [y]: y Select use_ci: 1 - travis 2 - circle 3 - none Choose from 1, 2, 3 [1]: 3 Initialized empty Git repository in /home/mccricardo/test/demo/.git/ [master (root-commit) 2e82ac9] Initial Commit. 13 files changed, 597 insertions(+) create mode 100644 .gitignore create mode 100644 AUTHORS.md create mode 100644 CONTRIBUTING.md create mode 100644 Dockerfile create mode 100644 Makefile create mode 100644 README.md create mode 100644 cmd/root.go create mode 100644 cmd/version.go create mode 100644 config/config.go create mode 100644 go.mod create mode 100644 log/log.go create mode 100644 main.go create mode 100644 version/version.go
-
Backstage Software Templates
@backstage/plugin-scaffolder-backend through CookieCutter "knows" how to bootstrap Golang projects based on cookiecutter-golang. And that's how all the magic happens.
service
Posts with mentions or reviews of service.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-02-21.
-
Should I take the Ardan Labs course? If yes, then which one?
Ultimate Service was useful for me. None of the "backend" concepts were new, but you get to see how Bill would layout/design an API-based service. If you're experienced you'll notice the opinionated choices he makes, and I found myself saying "Nah, I'm not sure I'd do it like that". I appreciated its use of Kubernetes and KIND as I'd never played with them before. How he uses Docker to spin up a DB instance for tests is pretty cool. There's a lot of copy & paste as you code along with him (you copy from the "finished project" and paste into your work in progress). The full example project is online at https://github.com/ardanlabs/service. You won't write all that code, and this version is newer than the one I did, but it gives you an idea of what you might learn.
-
If you could go back in time | What would you do different regarding go
So what can you do insted? For testing databases, setup a docker instance for tests (e.g. like in https://github.com/ardanlabs/service), or start an embedded-postgres daemon (see https://github.com/fergusstrange/embedded-postgres). For communication with external APIs, just pass the http.Client (either in context.Context or as a field on the struct). Then in tests, you can override the http.Client.Transport func.
- Where can I find well-written go code to learn from?
-
GO web sever - file structuring convention
Take a look at https://github.com/ardanlabs/service from Bill Kennedy. You can probably simplify the structure a bit since your project is minimal, but that repo is gold.
-
Say you're mentoring someone just getting comfortable with go. What do you think they should know?
Checkout https://github.com/ardanlabs/service for inporation. Tip: try to avoid creating a service package with all services, a domain package with all domain structs, etc.
-
Any resources on building a simple web app with Go without any frameworks?
Or go through this repo https://github.com/ardanlabs/service
-
GitHub - johnwarden/httperror: Golang package for returning errors instead of handling them directly.
I've seen this handler modification and wrapping pattern in Ardan Labs' service repository. https://github.com/ardanlabs/service/tree/master/foundation/web
-
REST API project structure
https://github.com/ardanlabs/service This is something which I really like and has taken into account a lot of engineering decisions.
- GitHub examples of Go that's written really well?
- Is "Let's go" and "Let's go further" worth it?
What are some alternatives?
When comparing cookiecutter-golang and service you can also consider the following projects:
golang-templates/seed - Go application GitHub repository template.
golang-standards/project-layout - Standard Go Project Layout
go-starter - An opinionated production-ready SQL-/Swagger-first RESTful JSON API written in Go, highly integrated with VSCode DevContainers by allaboutapps.
go-restful-api - An idiomatic Go REST API starter kit (boilerplate) following the SOLID principles and Clean Architecture
scaffold - Generate scaffold project layout for Go.
pagoda - Rapid, easy full-stack web development starter kit in Go
modern-go-application - Modern Go Application example
Repeater - retry call until no error
go-project-layout - My understanding of how to structure a golang project.
cookiecutter-golang vs golang-templates/seed
service vs golang-standards/project-layout
cookiecutter-golang vs golang-standards/project-layout
service vs go-starter
cookiecutter-golang vs go-restful-api
service vs scaffold
cookiecutter-golang vs scaffold
service vs pagoda
cookiecutter-golang vs pagoda
service vs modern-go-application
cookiecutter-golang vs Repeater
service vs go-project-layout