{"id":16903238,"url":"https://github.com/dpup/grpc-boilerplate","last_synced_at":"2026-02-28T07:31:25.545Z","repository":{"id":63380150,"uuid":"567457660","full_name":"dpup/grpc-boilerplate","owner":"dpup","description":"Run a multiplexed GRPC Server and GRPC Gateway over HTTPS, with a Typescript client.","archived":false,"fork":false,"pushed_at":"2024-04-25T21:01:12.000Z","size":59,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T06:33:05.759Z","etag":null,"topics":["golang","grpc","typescript"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dpup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2022-11-17T20:45:55.000Z","updated_at":"2024-06-18T17:57:38.000Z","dependencies_parsed_at":"2024-04-25T23:22:17.407Z","dependency_job_id":null,"html_url":"https://github.com/dpup/grpc-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/dpup/grpc-boilerplate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpup%2Fgrpc-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpup%2Fgrpc-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpup%2Fgrpc-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpup%2Fgrpc-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpup","download_url":"https://codeload.github.com/dpup/grpc-boilerplate/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpup%2Fgrpc-boilerplate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29927567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"online","status_checked_at":"2026-02-28T02:00:07.010Z","response_time":90,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","grpc","typescript"],"created_at":"2024-10-13T18:12:00.430Z","updated_at":"2026-02-28T07:31:25.530Z","avatar_url":"https://github.com/dpup.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GRPC Boilerplate\n\n_Fully functional boilerplate for running a multiplexed GRPC Server and GRPC\nGateway (JSON/REST proxy) over HTTPS, with a Typescript web client._\n\nGRPC is a great way for building web services. Once up and running it offers a\ndeveloper experience that is convenient and quick to build on, and with the GRPC\nGateway you can deliver elegant JSON/HTTP APIs to web clients.\n\nHowever, getting a new server set up can be rather fiddly, and despite numerous\nblog posts and walkthroughs it can still take hours of Googling to get it going.\n\nThis repo is intended to fast track the set up of new projects.\n\n- https://github.com/grpc/grpc-go\n- https://grpc-ecosystem.github.io/grpc-gateway/\n- https://grpc-ecosystem.github.io/grpc-gateway/docs/mapping/customizing_openapi_output/\n\n## What you get\n\n- A `helloworld` GRPC Server based on the [offical example](https://github.com/grpc/grpc-go/tree/master/examples/helloworld).\n- A GRPC Gateway configured to proxy the same `helloworld` service.\n- A generated Typescript client which talks to the GRPC Gateway, and mimimal\n  page that exercises the client.\n- A simple multiplexer that allows both the GRPC Gateway and the GRPC Server to\n  operate on the same port.\n- TLS support for the GRPC Gateway, with self-signed local certs.\n\n## Setup\n\n1. Fork/clone this repo.\n2. Ensure protoc is installed `brew install protobuf`.\n3. Install dependencies `make install-deps`.\n4. Generate SSL certificates `make gen-certs` for development.\n5. Follow instructions to add certs to your key chain.\n6. Run the server `make run`.\n7. Make a test request `curl 'https://localhost:5050/v1/greeting?name=dan'`.\n8. Open https://localhost:5050 in your browser, the prompt and alert will make an RPC\n9. 🎉🥂\n\nHopefully that works. Run `make help` to see information about other commands.\n\nPlease submit Pull Requests with corrections or updates.\n\n## Code layout\n\nThis boilerplate is intended to work best for a multi-language, mono-repo\nproject. Go source files are rooted under [go/src/boiler.plate/](go/src/boiler.plate/).\nI suggest you find-and-replace references to `boiler.plate` with\n`myawesomeapp.com` or whatever.\n\nThe main entrypoint can be found at [go/src/boiler.plate/cmd/boiler-pate.go](go/src/boiler.plate/cmd/boiler-pate.go).\n\nProto services defined in [protos/](protos/) will generate interfaces under\n[go/src/boiler.plate/services/](go/src/boiler.plate/services/). GRPC allows for\nservice oriented design, even if you deploy as a monolithic binary. We suggest\nyou create granular services such as `UserServer` defined in `user.proto` and\n`AuthServer` defined in `auth.proto`.\n\n## Contributing\n\nIf you find issues or spot possible improvements, please submit a pull-request.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpup%2Fgrpc-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpup%2Fgrpc-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpup%2Fgrpc-boilerplate/lists"}