ogen
fx
ogen | fx | |
---|---|---|
10 | 31 | |
1,072 | 5,203 | |
4.0% | 1.7% | |
9.5 | 8.3 | |
7 days ago | 8 days ago | |
Go | Go | |
Apache License 2.0 | 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.
ogen
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
https://github.com/ogen-go/ogen
Write openapi definition, it'll do routing, definition of structs, validation of JSON schemas, etc.
All I need to do is implement the service.
Validating an integer range for a querystring parameter is just too boring. And too easy to mistype when writing it manually.
Anyways, so far only been playing, so haven't found the bad parts yet.
-
Create Production-Ready SDKs with Goa
Ogen
-
How to OpenAPI?
But also this project https://github.com/ogen-go/ogen It worth keeping an eye on.
-
Go stack for REST APIs?
https://github.com/ogen-go/ogen/ is my potential replacement, need to evaluate it fully though.
-
Ideas on how to make certain package public on a private repository
One package I have my eyes on is ogen: https://github.com/ogen-go/ogen
- ogen: spec-first OpenAPI v3 codegen for Go
-
Any good OpenAPI 3.x spec generator for a Go REST API?
We have used https://github.com/deepmap/oapi-codegen in production for a long time and it's rock solid. Up and coming https://github.com/ogen-go/ogen is being developed rapidly and also worth keeping an eye on.
-
Generate RESTful CRUD with Ent and ogen
This post introduces a new OSS project that we are announcing today, ogent. ogent is a bridge between Ents capability to create OpenAPI v3 documents and ogen, an OpenAPI v3 Code Generator for Go.
-
chai - a library for type safe http handlers via generics with automatic swagger generation
There is ogen for OpenAPI v3 code generation.
fx
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
I found fx(https://github.com/uber-go/fx) to be a super simple yet versatile tool to design my application around.
All the advice in the article is still helpful, but it takes the "how do I make sure X is initialized when Y needs it" part completely out of the equation and reduces it from an N*M problem to an N problem, ie I only have to worry about how to initialize individual pieces, not about how to synchronize initialization between them.
I've used quite a few dependency injection libraries in various languages over the years (and implemented a couple myself) and the simplicity and versatility of fx makes it my favorite so far.
-
go-ecommerce-microservices: A practical e-commerce microservices, built with cqrs, event sourcing, vertical slice architecture, event-driven architecture.
Some of the features: - ✅ Using Vertical Slice Architecture as a high level architecture - ✅ Using Event Driven Architecture on top of RabbitMQ Message Broker with a custom [Event Bus](pkg/messaging/bus/) - ✅ Using Event Sourcing in Audit Based services like [Orders Service](services/orders/) - ✅ Using CQRS Pattern and Mediator Patternon top of Go-MediatR library - ✅ Using Dependency Injection and Inversion of Controlon top of uber-go/fx library - ✅ Using RESTFul api with Echo framework and using swagger with swaggo/swag library - ✅ Using Postgres and EventStoreDB to write databases with fully supports transactions(ACID) - ✅ Using MongoDB and Elastic Search for read databases (NOSQL) - ✅ Using OpenTelemetry for collection Distributed Tracing with using Jaeger and Zipkin - ✅ Using OpenTelemetry for collection Metrics with using Prometheus and Grafana - ✅ Using Unit Test for testing small units with mocking dependent classes and using Mockery for mocking dependencies - ✅ Using End2End Test and Integration Test for testing features with all of their real dependeinces using docker containers (cleanup tests) and testcontainers-go library
-
Gorilla,wow
any take on https://github.com/uber-go/fx?
-
App init and graceful watch lib recommendations ?
I’m not sure of much that can do all of that - maybe it’s a use case for https://github.com/uber-go/fx
-
How normal is it to stare at your screen, getting nothing done when stuck and waiting for help?
If I still find myself stuck/waiting, I switch over to studying more about our team's main language Go. Currently looking around at Fx ( https://github.com/uber-go/fx ). Which is interesting, though I doubt we'll actually migrate anything for it, but might make a neat lunch and learn topic.
-
Zerolog printing logs multiple times
Hello gophers, I am using https://github.com/uber-go/fx and https://github.com/rs/zerolog for logging.
-
Does this project structure make sense?
Also, I like to use Uber FX for my DI stuff. You can check it out here:https://github.com/uber-go/fx
-
As a Go programmer, what design pattern, programming techniques have you actually used, implemented regularly in your workplace which made your life much easier?
I only have private and work repos... But I use Uber fx. https://github.com/uber-go/fx
-
Does Golang has any framework like Springboot?
Spring Boot is notable for its dependency injection / inversion of control. The closest Go has to this is Uber's Fx which also includes some lifecycle management.
-
Config for production and mocking (db connections, http parsers etc)
If you have such a complex and deep dependency graph, and you don't want to manually maintain it, you could use some DI library to handle that for you. Something like https://github.com/google/wire for small-medium size stuff, or https://github.com/uber-go/fx for larger scale, more enterprise projects.
What are some alternatives?
oapi-codegen - Generate Go client and server boilerplate from OpenAPI 3 specifications
dig - A reflection based dependency injection toolkit for Go.
openapi-generator - OpenAPI Generator allows generation of API client libraries (SDK generation), server stubs, documentation and configuration automatically given an OpenAPI Spec (v2, v3)
wire - Compile-time Dependency Injection for Go
rest - Web services with OpenAPI and JSON Schema done quick in Go
wire - Strict Runtime Dependency Injection for Golang
swag - Automatically generate RESTful API documentation with Swagger 2.0 for Go.
container - A lightweight yet powerful IoC dependency injection container for the Go programming language
kin-openapi - OpenAPI 3.0 (and Swagger v2) implementation for Go (parsing, converting, validation, and more)
captcha - :sunglasses:Package captcha provides an easy to use, unopinionated API for captcha generation
kiota - OpenAPI based HTTP Client code generator
wild-workouts-go-ddd-example - Go DDD example application. Complete project to show how to apply DDD, Clean Architecture, and CQRS by practical refactoring.