{"id":19209370,"url":"https://github.com/anthonydmays/grpc-vs-rest","last_synced_at":"2025-05-12T18:55:31.791Z","repository":{"id":66603288,"uuid":"599842129","full_name":"anthonydmays/grpc-vs-rest","owner":"anthonydmays","description":"Demo projects for the \"gRPC vs REST\" session at Hacking With The Homies Developers Conference 2023.","archived":false,"fork":false,"pushed_at":"2024-03-30T23:48:28.000Z","size":601,"stargazers_count":24,"open_issues_count":0,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-10T04:33:46.896Z","etag":null,"topics":["conference-talk","demos","docker","full-stack","fullstack","fullstack-development","fullstack-javascript","monorepo","node","samples","svelte","sveltekit","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/anthonydmays.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2023-02-10T01:49:30.000Z","updated_at":"2025-01-08T23:23:41.000Z","dependencies_parsed_at":"2024-03-31T00:36:43.855Z","dependency_job_id":null,"html_url":"https://github.com/anthonydmays/grpc-vs-rest","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/anthonydmays%2Fgrpc-vs-rest","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonydmays%2Fgrpc-vs-rest/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonydmays%2Fgrpc-vs-rest/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anthonydmays%2Fgrpc-vs-rest/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anthonydmays","download_url":"https://codeload.github.com/anthonydmays/grpc-vs-rest/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253805130,"owners_count":21967050,"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":["conference-talk","demos","docker","full-stack","fullstack","fullstack-development","fullstack-javascript","monorepo","node","samples","svelte","sveltekit","typescript"],"created_at":"2024-11-09T13:30:25.619Z","updated_at":"2025-05-12T18:55:31.761Z","avatar_url":"https://github.com/anthonydmays.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# gRPC vs REST Demos\n\n## Description\n\nThis repo contains three full-stack monorepos demonstrating the REST and gRPC API architectural styles. See the README in each of the subprojects for instructions on how to run each demo.\n\n## Author\n\nAnthony D. Mays (@anthonydmays) - [Twitter](https://twitter.com/anthonydmays) | [LinkedIn](https://linkedin.com/in/anthonydmays) | [Github](https://github.com/anthonydmays)\n\n## Projects\n\nThe following is a description of the projects you can demo.\n\n| Project                             | Description                                                                                |\n| ----------------------------------- | ------------------------------------------------------------------------------------------ |\n| **[rest-api-app](rest-api-app/)**   | Address book app built using a REST API built on Express and a Svelte fronted.             |\n| **[grpc-api-app](grpc-api-app/)**   | Address book app built using a gRPC API.                                                   |\n| **[grpc-rest-app](grpc-rest-app/)** | Address book app built using a gRPC API with a REST endpoint using an Envoy reverse proxy. |\n\n## Resources\n\n- [gRPC vs REST: Comparing API Styles in Practice](https://dev.to/anthonydmays/grpc-vs-rest-comparing-api-styles-in-practice-4bl) by Anthony D. Mays\n- [gRPC vs REST: Understanding gRPC, OpenAPI and REST and when to use them in API design](https://cloud.google.com/blog/products/api-management/understanding-grpc-openapi-and-rest-and-when-to-use-them) by Martin Nally\n- [Architectural Styles and the Design of Network-based Software Architectures](https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm) by Roy Fielding\n- [Use gRPC with Node.js and Typescript](https://dev.to/devaddict/use-grpc-with-node-js-and-typescript-3c58) by Aria Azadi Pour\n\n## Acknowledgements\n\nThese demos were presented at Hacking With The Homies Developer Conference (HWTHDC) 2023 by Anthony D. Mays in the session entitled \"gRPC vs REST\" on February 23, 2023.\n\nThis session was also sponsored by [Brilliant Black Minds](https://ml.tips/brilliant-black-minds). Black engineers in the US can sign up now to get free mock technical interviews, free workshops, and a Discord community.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonydmays%2Fgrpc-vs-rest","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanthonydmays%2Fgrpc-vs-rest","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanthonydmays%2Fgrpc-vs-rest/lists"}