wild-workouts-go-ddd-exampl
DISCONTINUED
watermill
Our great sponsors
wild-workouts-go-ddd-exampl | watermill | |
---|---|---|
3 | 23 | |
- | 6,650 | |
- | 2.1% | |
- | 6.5 | |
- | 10 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...
watermill
-
Microservices communication
I’ve successfully worked on projects using an asynchronous event-driven way of connecting services. I really like the decoupling of business logic and the events triggering it. I highly recommend https://github.com/ThreeDotsLabs/watermill to be more flexible when it comes to choosing the actual technology driving the async patter. It might be NATS today but requirements might change and you need to change. Watermill prepares you for this.
-
How did you solve the problem of transactions between different databases and services?
Look at this library: https://github.com/ThreeDotsLabs/watermill
-
Examples of using task scheduler with Go?
Watermill is a good pubsub abstraction. You can start with native go channels and grow into a cloud pubsub or Kafka/Pulsar if you need to.
-
Small EDA/Micro service Project
These conditions have led me to discover two packages watermill.io and go-kit. Both of these seem to do what I want and I am thinking of implementing the project using watermill and go Chanels and deploying to a server or some sort.
-
Event Observer Pattern in Go
github.com/ThreeDotsLabs/watermill package provides a framework for building event-driven applications. It allows easy communication between independent components by decoupling the sender and the receiver.
-
I've just started learning Golang, and I'm struggling to choose a framework.
My personal favorite tools: - https://github.com/go-kit/ for building services (although it's not necessary a great tool for prototyping) - https://github.com/gorilla/mux router (although it's been recently deprecated, so I'm looking for a similar, maintained library) - https://entgo.io/ ORM - https://watermill.io/ for messaging
- I’m looking for a suggestion for a queuing library
-
Looking for a mature distributed task queuer/scheduler in go
Checkout https://watermill.io/
- Watermill is a Go library for working efficiently with message streams. It is intended for building event driven applications, enabling event sourcing, RPC over messages!!
-
Domain Driven Design
Further more next 26th April they will have a webinar regarding their event driven lib https://watermill.io/
What are some alternatives?
eventhorizon - Event Sourcing for Go!
go-kit - A standard library for microservices.
Benthos - Fancy stream processing made operationally mundane
pulse - ☁EventBus on Portable Pub/Sub Components☄
wild-workouts-go-ddd-example - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.
go-rabbitmq - A wrapper of streadway/amqp that provides reconnection logic and sane defaults
fx - A dependency injection based application framework for Go.
NATS - Golang client for NATS, the cloud native messaging system.
sarama - Sarama is a Go library for Apache Kafka. [Moved to: https://github.com/IBM/sarama]
Asynq - Simple, reliable, and efficient distributed task queue in Go
kafka-message-scheduler-admin - GUI for managing list of kafka message schedulers
website - [mirror] Home of the go.dev and golang.org websites