Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go Service

This repo reflects some of my recent learnings with respect to writing services in Go. I borrowed deeply from Mat Ryer's article "How I write Go services after 13 years.".

Clean Code

One of my colleagues Kenny Mclive also recently turned me on to layering techniques to avoid the dreaded circular dependencies with packages. This concept isn't alien for folks moving from .NET or Java and I'm sure we've all fallen into the pit before. These two articles talk a little more about layering approaches so Thank you Kenny!

Standard Package Layout Packages as Layers, not Groups

Packages Used

Gorilla Mux (Server/Routing)

Pretty awesome routing library. While Mat's article drove me to adopt mux this go round, what I wanted was something that got me closer to .NET minimal apis and specifically being able to pattern match (e.g., "/api/v1/articles/{id}"). Mux as it turns out readily supports this capability (and much more).

Viper (Configuration)

This was a choice driven by my experiences with .NET and specifically using static files with environment variable overlays and configuration sections emitted as an object.

Gorm (Persistence)

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages