{"id":20092700,"url":"https://github.com/surzia/collab-realtime-doc","last_synced_at":"2026-02-13T13:02:47.065Z","repository":{"id":44981632,"uuid":"511575212","full_name":"surzia/collab-realtime-doc","owner":"surzia","description":"Build a gRPC server with Golang, React, Envoy and Docker","archived":false,"fork":false,"pushed_at":"2022-07-30T13:52:24.000Z","size":8028,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-09T08:22:46.584Z","etag":null,"topics":["docker","envoy","go","grpc","react"],"latest_commit_sha":null,"homepage":"https://juejin.cn/post/7119139195649523725/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/surzia.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}},"created_at":"2022-07-07T15:11:37.000Z","updated_at":"2024-05-13T10:00:06.000Z","dependencies_parsed_at":"2022-07-12T21:33:34.618Z","dependency_job_id":null,"html_url":"https://github.com/surzia/collab-realtime-doc","commit_stats":null,"previous_names":["surzia/grpc-starter"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surzia%2Fcollab-realtime-doc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surzia%2Fcollab-realtime-doc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surzia%2Fcollab-realtime-doc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/surzia%2Fcollab-realtime-doc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/surzia","download_url":"https://codeload.github.com/surzia/collab-realtime-doc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252622113,"owners_count":21777921,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["docker","envoy","go","grpc","react"],"created_at":"2024-11-13T16:44:22.532Z","updated_at":"2026-02-13T13:02:42.015Z","avatar_url":"https://github.com/surzia.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# README\nA simple gRPC server built by **Go** + **React** + **Docker** + **Envoy**\n\n![](images/cover.png)\n\n## How to build\nThe easiest way to build the project with docker\n```bash\ndocker compose build\n```\nor you can build it manually\n- build backend go server\n  ```bash\n  go build -o server .\n  ```\n- build frontend react\n  ```bash\n  cd web\n  npm run build\n  ```\n- dockerlize envoy proxy server\n  ```bash\n  docker build -t grpc-starter-envoy:1.0 .\n  ```\n\n## How to run\nThe easiest way, still start the project with docker\n```bash\ndocker compose up -d\n```\nor you can start it manually\n- after compiling, run envoy proxy server directly\n  ```bash\n  docker run -dp 8000:8000 grpc-starter-envoy:1.0\n  ```\n- run the compiled go executable binary\n  ```bash\n  ./server\n  ```\n  or use go command\n  ```bash\n  go run main.go\n  ```\n- start react project\n  ```bash\n  npm run start\n  ```\n\n## Preview\nAfter starting project, you can open browser http://localhost:3000 to see the final effect\n![](images/preview.png)\n\n## Deployment\n[![Deploy](https://www.herokucdn.com/deploy/button.png)](https://heroku.com/deploy)\n\n![](images/gopher.gif)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurzia%2Fcollab-realtime-doc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsurzia%2Fcollab-realtime-doc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsurzia%2Fcollab-realtime-doc/lists"}