{"id":18925315,"url":"https://github.com/solutionstack/go-grpc-demo","last_synced_at":"2026-01-27T00:11:19.197Z","repository":{"id":214795026,"uuid":"563145260","full_name":"solutionstack/Go-Grpc-demo","owner":"solutionstack","description":null,"archived":false,"fork":false,"pushed_at":"2022-11-08T02:03:16.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-24T23:43:41.288Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solutionstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"publiccode":null,"codemeta":null}},"created_at":"2022-11-08T01:59:41.000Z","updated_at":"2022-11-08T01:59:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"5e113412-3237-4076-914a-c52c692eeb4b","html_url":"https://github.com/solutionstack/Go-Grpc-demo","commit_stats":null,"previous_names":["solutionstack/go-grpc-demo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/solutionstack/Go-Grpc-demo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionstack%2FGo-Grpc-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionstack%2FGo-Grpc-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionstack%2FGo-Grpc-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionstack%2FGo-Grpc-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solutionstack","download_url":"https://codeload.github.com/solutionstack/Go-Grpc-demo/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutionstack%2FGo-Grpc-demo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28792645,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T21:49:50.245Z","status":"ssl_error","status_checked_at":"2026-01-26T21:48:29.455Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2024-11-08T11:10:48.069Z","updated_at":"2026-01-27T00:11:19.179Z","avatar_url":"https://github.com/solutionstack.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"### REST Application demonstrating GRPC usage in Go\n\n#### Folder structure\n - /cmd: contains local app main function\n - /rpc: contains /service which is the implementation of the generated protobuf server interface.\n  And /client containing a client-connection helper\n - /handler: contains http.Handlers that invoke the remote grpc functions via the client-connection\n - /proto contains the rpc .proto file and generated interfaces\n\n#### Usage:\n\nThe RPC server exposes a simple user management API\n#### Start rpc server\n```shell\ngo run ./rpc/service\n```\n#### Start app server\n```shell\n go run ./cmd/app.go\n```\n\n #### Create user\n```shell\ncurl --location --request POST 'localhost:8081/api/user/create' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"Name\":\"Adam\",\n    \"Age\":10\n}'\n```\n\n#### Fetch all users\n```shell\ncurl --location --request GET 'localhost:8081/api/users'\n```\n\n#### Fetch single user by ID\n```shell\ncurl --location --request GET 'localhost:8081/api/user?user_id=8f37caae-a76d-45b8-8cb4-be79c21f6ef1'\n```\n\n#### To regenerate rpc code from .proto file (you must have grpc setup locally)\n```shell\nprotoc --go_out=. --go_opt=paths=source_relative     --go-grpc_out=. --go-grpc_opt=paths=source_relative     ./proto/def.proto\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutionstack%2Fgo-grpc-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolutionstack%2Fgo-grpc-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutionstack%2Fgo-grpc-demo/lists"}