{"id":16769616,"url":"https://github.com/oleksiikhr/go-node-grpc-dom-parser","last_synced_at":"2026-05-02T17:33:08.591Z","repository":{"id":117367429,"uuid":"351433901","full_name":"oleksiikhr/go-node-grpc-dom-parser","owner":"oleksiikhr","description":"A small example of a project to test gRPC technology","archived":false,"fork":false,"pushed_at":"2021-03-31T22:36:46.000Z","size":109,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-23T01:31:22.522Z","etag":null,"topics":["fasthttp","grpc","grpc-go","grpc-node","grpc-typescript","playwright","typescript"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/oleksiikhr.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,"publiccode":null,"codemeta":null}},"created_at":"2021-03-25T12:47:34.000Z","updated_at":"2021-03-31T22:36:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"247b1318-8b05-47e0-84b3-d2b3ff15c289","html_url":"https://github.com/oleksiikhr/go-node-grpc-dom-parser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleksiikhr%2Fgo-node-grpc-dom-parser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleksiikhr%2Fgo-node-grpc-dom-parser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleksiikhr%2Fgo-node-grpc-dom-parser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oleksiikhr%2Fgo-node-grpc-dom-parser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oleksiikhr","download_url":"https://codeload.github.com/oleksiikhr/go-node-grpc-dom-parser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243878494,"owners_count":20362433,"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":["fasthttp","grpc","grpc-go","grpc-node","grpc-typescript","playwright","typescript"],"created_at":"2024-10-13T06:14:34.835Z","updated_at":"2025-09-22T03:09:19.899Z","avatar_url":"https://github.com/oleksiikhr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go Node gRPC DOM Parser\n\n\u003e A small example of a project to test gPRC technology.\n\nA running `Go` server that accepts requests from the Internet and communicates with` Node` using [`gRPC`](https://grpc.io/).\n\n## Development\n\n- Launch docker containers.\n\n```shell\n$ docker-compose up -d\n```\n\n- Execute any request from [API] (# api), for example:\n\n`http://localhost:8081/image?url=https://news.ycombinator.com/`\n\n## Scripts\n\nGenerating **go/node** code from proto files:\n\n```shell\n# Go -\u003e go/services/proto\n$ sh ./go/utils/grpc.sh\n\n# Node -\u003e node/src/grpc/proto\n$ sh ./node/utils/grpc.sh\n```\n\n## API\n\n- Get site image: `/image?url=\u003cwebsite-url\u003e`.\n\n`http://localhost:8081/image?url=https://news.ycombinator.com/`\n\n- Get site HTML: `/html?url=\u003cwebsite-url\u003e`.\n\n`http://localhost:8081/html?url=https://news.ycombinator.com/`\n\n## Testing\n\n- Run `docker-compose` containers\n- Run `go test .` in **go** folder\n\n## Technologies\n\n- [gPRC](https://grpc.io/)\n- [Docker](https://www.docker.com/)\n\n**Node**\n\n- [@grpc/grpc-js](https://www.npmjs.com/package/@grpc/grpc-js) - Pure JavaScript gRPC Client\n- [microsoft/playwright](https://github.com/microsoft/playwright) - Playwright to automate Chromium, Firefox and WebKit with a single API\n- [agreatfool/grpc_tools_node_protoc_ts](https://github.com/agreatfool/grpc_tools_node_protoc_ts) - Generate TypeScript d.ts definitions for generated js files\n- [remy/nodemon](https://github.com/remy/nodemon) - Live reload\n- [microsoft/TypeScript](https://github.com/microsoft/TypeScript) - TypeScript extends JavaScript by adding types\n\n**Go**\n\n- [gRPC-Go](https://google.golang.org/grpc) - The Go implementation of gRPC\n- [cosmtrek/air](https://github.com/cosmtrek/air) - Live reload\n- [valyala/fasthttp](https://github.com/valyala/fasthttp) - Fast HTTP implementation\n\n## License\n\n[MIT](https://opensource.org/licenses/MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleksiikhr%2Fgo-node-grpc-dom-parser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foleksiikhr%2Fgo-node-grpc-dom-parser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foleksiikhr%2Fgo-node-grpc-dom-parser/lists"}