goapp
grpc-gateway
goapp | grpc-gateway | |
---|---|---|
11 | 30 | |
766 | 17,391 | |
- | 0.9% | |
2.7 | 9.8 | |
6 days ago | 3 days ago | |
Go | Go | |
MIT License | BSD 3-clause "New" or "Revised" 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.
goapp
-
A practical approach to structuring Golang apps
2022 update. At the time of writing this update, it's been over a year since I published this article. At the end of this article I promise a part two, which I must admit, will probably never come for a couple of reasons. I no longer use this structure (I still think this article gives people some help to get going, but would like to update it at one point. I suggest you checkout this repo. Secondly, in regards to integration testing, I've just relased a full-length article about it which you can find here.
- Calling Profesh Go developers for some suggestions on a good directory structure, architecture and design suggestion for a Go based backend API ?
- How to structure an API using Go?
-
A practical approach to structuring Golang applications
I wrote this article a year ago and there is much I would change about it today. I still post it because I think there are something to be learned from this, at least to get a end 2 end description of one way to structure Go applications. There are many other options, and today I would suggest that you check out this repository.
-
Would you recommend me (OR NOT) to use kataras/iris framework for prod???
Also regarding how you organise the code you could check out https://github.com/bnkamalesh/goapp
-
Show me your REST APIs 😊
I've been using https://github.com/bnkamalesh/webgo for all my projects. Also, I follow https://github.com/bnkamalesh/goapp to organize code
-
What is the best way to organize code within a Go project?
https://awesome-go.com is a good place for aggregated resources. Also regarding code organization, I've done something, which l follow till date, https://github.com/bnkamalesh/goapp
-
Project structure for Golang web server + react
I've been using this for a while now, (Goapp)[https://github.com/bnkamalesh/goapp]
-
Folder structure for a golang web application project with REST API
I've been using goapp for a long while now
-
"Packages as layers, not group" follow up to "Standard Package Layout""
in which case, you might like this one
grpc-gateway
-
I write HTTP services in Go after 13 years (Mat Ryer, 2024)
it lacks flexibility but i really enjoy grpc-gateway for 99% of my work
https://github.com/grpc-ecosystem/grpc-gateway
-
Create Production-Ready SDKs With gRPC Gateway
gRPC Gateway is a protoc plugin that reads gRPC service definitions and generates a reverse proxy server that translates a RESTful JSON API into gRPC.
-
Ask HN: Rapid Development API-Only One Person Stack – Seeking Performant Tech
I don't have any example that's public atm, but the guide in grpc-gateway is pretty clear/can be followed step by step.
https://github.com/grpc-ecosystem/grpc-gateway
To integrate with Fiber, I used the Fiber Adaptor (also pretty straightforward): https://docs.gofiber.io/api/middleware/adaptor
-
Seeking advice on implementing a tinyurl-like service using Go and gRPC.
I wonder if they would be happy with something like this: https://github.com/grpc-ecosystem/grpc-gateway
- How do I provide bot RPC and REST endpoints?
-
Reasons to use gRPC/Protobuf?
Protobuf is used is massively scaled services like firebase. But you'll still see JSON in streamed realtime services like AWS Kinesis. Hopefully google had a return on investment for creating and using this protocol, but it's not hard to prove that it's far from essential. Out of apparent convenience I use grpc-gateway so I can expose both Protobuf and JSON, but honestly I wouldn't do it again
-
gRPC microservices communication in kubernates
GRPC is an alternative to rest, rest and GRPC both use the http protocol. But you won’t be able to use fetch to call a GRPC endpoint, you should look into setting up a GRPC proxy within the application(hopping you have access to the source code) grpc-gateway. If you don’t have access you’ll have to create a new container that proxies the calls
-
Question about gRPC?
(There is an option called google.api.http, that lets you set up a URL that can be used to make HTTP/1 REST requests, which get translated to gRPC calls if you're using grpc-gateway as a proxy in front of your service. That has nothing to do with the requests that are made by gRPC clients and servers themselves.)
-
Issues with proxying gRPC services to web, and a potential prototype
Have you looked at https://github.com/grpc-ecosystem/grpc-gateway ?
-
Understanding gRPC Concepts, Use Cases & Best Practices
protoc-gen-grpc-gateway — plugin for creating a gRPC REST API gateway. It allows gRPC endpoints as REST API endpoints and performs the translation from JSON to proto. Basically, you define a gRPC service with some custom annotations and it makes those gRPC methods accessible via REST using JSON requests.
What are some alternatives?
modern-go-application - Modern Go Application example
examples - A repository to host examples and tutorials for Gin.
prudence - An opinionated lightweight web framework built for scale
MassTransit - Distributed Application Framework for .NET
WebGo - A microframework to build web apps; with handler chaining, middleware support, and most of all; standard library compliant HTTP handlers(i.e. http.HandlerFunc).
Kreya - Kreya is a GUI client for REST and gRPC with innovative features for environments, authorizations and more.
wtf - WTF Dial is an example web application written in Go.
OpenAPI-Specification - The OpenAPI Specification Repository
shortlink - High-Performance Shortlink ( Short URL ) app creator in Golang. For privacy reasons, you may prefer to host your own short URL app and this is the one to use.
grpc-web - gRPC for Web Clients
vilmos - Official vilmos visual language interpreter!
openapi3 - OpenAPI 3.0 data model