Hello all, I'm sharing here a project I am working since quite some time now: http://empower.sh. This is intended to be a backend framework usable by any developer, with only basic knowledge of Golang.
It goes way beyond micro-framework like micro or gin, and is not a monolith like Buffalo. It is heavily inspired by the Odoo <http://odoo.com> framework, an ERP I used for more than 10 years and which is one of the most productive and underestimated back-office framework out there but with one caveat : it's also a monolith. With the Empower stack I want to keep the same productivity but with micro-services patterns, so each teams can be fully autonomous and manage their own services. My goal is to build libraries to manage CRUD operations in a micro-services context, for example we can define in a model X a many2one field linked to a model Y in another service. When we create a new X, the libraries will request the other service to check that the Y referenced in the many2one field exist. This is only a simple example, CRUD in micro-services are complex to manage, yet common this is why I think we absolutely need libraries to manage them and share the work. To be as productive as possible, I need each services to follow standard pattern for their inter-communications. This is where I heavily use gRPC, to fight network latency and ensure a speed as close as possible from a monolithic ERP framework. Also, Protobuf is used as a first-class citizen inside the ORM itself, so we can serialize the model at any time and there is no transcript needed when building the gRPC request. And I extensively use code generation, to avoid the effect "you use the framework, you learn the framework, not the language". I invite you to read my post on medium for more details on the framework architecture : https://medium.com/@yannick.b/how-should-be-designed-the-ideal-golang-crud-backend-36c8f874c6a7. Golang, gRPC, Protobuf, microservices are awesome technologies and patterns, solving real problems. I think some of the most experimented backend developers are on this mailing list and I hope to have feedback from some of you. Thanks for your attention, I hope you'll enjoy this PoC. -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/249029dc-869f-4ab4-b426-46384ad7f3ee%40googlegroups.com.
