wild-workouts-go-ddd-exampl
go-kit
Our great sponsors
wild-workouts-go-ddd-exampl | go-kit | |
---|---|---|
3 | 32 | |
- | 26,088 | |
- | 0.5% | |
- | 3.8 | |
- | 11 days ago | |
Go | ||
- | MIT License |
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.
wild-workouts-go-ddd-exampl
-
Looking for elegant code bases written in Golang
Take a look at: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-exampl...
(I’m one of the authors.)
This project shows how to apply more complex patterns popular in business applications while staying true to the Go ideas, and not copying them blindly from Java.
In the Go community, you’ll often hear people say „just keep things simple” beats all patterns and is all you need. This may be true if you write a CLI tool or a small library, but if you have a team maintaining a big application, some patterns are super helpful.
-
Auto-Generated C4 Architecture Diagrams in Go
Hey HackerNews!
One o the most common problems in IT projects is the problem of out-of-date documentation or lack of documentation. Architecture diagrams are an essential part of it.
C4 Model is trying to help with that by providing a tool that helps to standardize a way to create clear architecture diagrams on multiple levels.
But having a standard practice to follow is not enough to have this documentation up-to-date. Because of that, Krzysztof from my team created a script that can make these diagrams directly from the code.
Unfortunetly we can't share our company code. Fortunately, we have Wild Workouts DDD example that is a perfect use case to show the power of that tool: https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-exampl....
The linked article describes all the needed steps to create these diagrams. Feel free to play with it and try to add it to your project.
If you want to know more about Wild Workouts DDD example, they are already 14 articles that describe the project in detail: https://threedots.tech/series/modern-business-software-in-go....
-
Show HN: We wrote a book about building business applications in Go
Here is example code and blog series for a step-by-step DDD-based refactoring of an existing app. Don't know if they are the same as what's used in the book, but found them quite interesting.
https://github.com/ThreeDotsLabs/wild-workouts-go-ddd-exampl...
go-kit
-
PHP to Golang
https://github.com/go-kit/kit
-
GoLang — Simplifying Complexity “The Beginning”
. Web backend (with various frameworks available) . Web Assembly (one of them is vugu framework) . Microservices (some frameworks: Go Micro, Go Kit, Gizmo, Kite) . Fragments services (Term mentioned by @jeffotoni in a microservices discussion group) . Lambdas (FaaS example) . Client Server . Terminal applications (using the tview lib) . IoT (some frameworks) . Bots (some here) . Client Applications using Web technology . Desktop using Qt+QML, Native Win Lib (example Qt, Qt widgets, Qml) . Network Applications . Protocol applications . REST Applications . SOAP Applications . GraphQL Applications . RPC Applications . TCP Applications . gRPC Applications . WebSocket Applications . GopherJS (compiles Go to JavaScript)
-
go-kit VS Don - a user suggested alternative
2 projects | 15 Mar 2023
-
Microservices: GoLang in a Spring Cloud architecture
To implement service discovery in our GoLang microservice we will use GoKit, a toolkit for microservices that provides support to auth, log, service discovery, tracing and more. For this starter code the mod already installed, you can skip this step
-
What's the best dependency injection framework / methodology for Golang for the enterprise?
My company uses go-kit
-
Best up-to-date Golang book
For reference my company Go projects are built with (go-kit)[https://gokit.io/] design patterns.
-
FRAMEWORKS IN GOLANG.
5. kit. The kit framework is a programming toolkit for building robust, reliable, and maintainable microservices in Golang. It is a collection of packages and best practices that offer businesses of all sizes a thorough, reliable, and trustworthy way to create microservices. Go is a fantastic general-purpose language, but microservices need some specialized assistance. As a result, the kit framework offers infrastructure integration, system observability, and Remote Procedure Call (RPC) safety. Golang is a first-class language for creating microservices in any organization thanks to its composition of numerous closely related packages that together form an opinionated framework for building substantial Service-Oriented Architectures (SOAs).It was created with interoperability in mind, and developers are free to select the platforms, databases, components, and architectural styles that best suit their needs. The disadvantage of using go-kit is that it has a high overhead for adding API to the service because of how heavily it relies on interfaces. Documentation Link: https://github.com/go-kit/kit
-
GitHub - gookit/ini: 📝 Go INI config management. support multi file load, data override merge. parse ENV variable, parse variable reference. Dotenv file parse and loader.
At first I was confused but this GitHub user/org is completely different from the massively popular go-kit/kit https://github.com/go-kit/kit
-
Go Micro: a standard library for distributed systems development
https://github.com/go-kit/kit#related-projects
go-micro seems like it does a bit too much, like service discovery and balancing within the framework when that's likely better handled by an Envoy/Istio.
-
Real World Micro Services
I think the more interesting aspect of this is the framework being used: https://github.com/micro/micro
I haven't dug into it at all yet, but at a glance it looks like it's aiming to do something similar to what Go kit (https://gokit.io/) or Finagle (https://twitter.github.io/finagle/) does, where it gives you a nice abstraction for defining your "service" and then handles all the supplementary aspects (service discovery, serialization, retry/circuit breaker logic, rate limiting, hooks for logging, tracing, and metrics, etc) so you don't have to build those from scratch every time.
I don't know if any of those other frameworks could really be considered very "successful" outside the original organizations they were built for (it seems like the industry has bet more on service meshes and API gateway products), but I'd probably be more inclined to start with one of them than making a new framework.
What are some alternatives?
wild-workouts-go-ddd-example - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
Gin - Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.
watermill - Building event-driven applications the easy way in Go.
Echo - High performance, minimalist Go web framework
Fiber - ⚡️ Express inspired web framework written in Go
kratos - Your ultimate Go microservices framework for the cloud-native era.
GoSwagger - Swagger 2.0 implementation for go
go-micro - A Go microservices framework
goa - 🌟 Goa: Elevate Go API development! 🚀 Streamlined design, automatic code generation, and seamless HTTP/gRPC support. ✨
chi - lightweight, idiomatic and composable router for building Go HTTP services
Beego - beego is an open-source, high-performance web framework for the Go programming language.
Iris - The fastest HTTP/2 Go Web Framework. New, modern and easy to learn. Fast development with Code you control. Unbeatable cost-performance ratio :rocket: