{
    "componentChunkName": "component---src-templates-page-template-tsx",
    "path": "/projects/grpc-nodejs",
    "result": {"data":{"markdownRemark":{"html":"<h3>Overview</h3>\n<p>🚀 This project builds a scalable gRPC in Node.js, enabling fast, secure, and efficient inter-service communication. gRPC, a high-performance RPC framework by Google, supports language-agnostic, type-safe communication. By implementing Protocol Buffers, HTTP/2, and TLS, this project enhances speed, security, and reliability with Node.js services.</p>\n<h1>grpc-nodejs-boilerplate</h1>\n<h1>Project Description</h1>\n<p>This project builds a scalable gRPC  in Node.js, enabling fast, secure, and efficient inter-service communication. gRPC, a high-performance RPC framework by Google, supports language-agnostic, type-safe communication. By implementing Protocol Buffers, HTTP/2, and TLS, this project enhances speed, security, and reliability with Node.js services.</p>\n<h1>Technologies</h1>\n<ol>\n<li>Node.js</li>\n<li>gRPC</li>\n<li>Protocol Buffers</li>\n<li>HTTP/2</li>\n<li>TLS</li>\n</ol>\n<h1>Project Structure</h1>\n<ol>\n<li><strong>cert</strong>: Contains SSL certificates for secure communication.</li>\n<li><strong>protos</strong>: Contains Protocol Buffers files for defining gRPC services.</li>\n<li><strong>client</strong>:  Contains client-side code for making gRPC requests.</li>\n<li><strong>models</strong>: Contains data models for defining request and response objects (.proto files).</li>\n<li><strong>middleware</strong>: Contains middleware functions for intercepting and modifying gRPC requests.</li>\n<li><strong>utils</strong>: Contains utility functions for handling gRPC requests and responses.</li>\n<li><strong>index.js</strong>: Contains server-side code for defining gRPC services and starting the server.</li>\n<li><strong>config</strong>: Contains configuration settings for the server.</li>\n<li><strong>microservice</strong>: Contains microservices for handling gRPC requests.</li>\n<li><strong>package.json</strong>: Contains metadata and dependencies for the project.</li>\n<li><strong>scripts</strong>: Contains scripts for generating gRPC service and client files.</li>\n<li><strong>utils</strong>: Contains utility functions for handling gRPC requests and responses.</li>\n<li><strong>.env</strong>: Contains environment variables for the project.</li>\n<li><strong>package.json</strong>: Contains dependency tree for the project.</li>\n</ol>\n<h1>Prerequisites</h1>\n<ol>\n<li>Node.js</li>\n<li>npm</li>\n<li>Protocol Buffers Compiler (protoc)</li>\n<li>gRPC Node.js Plugin (not required for Node.js 12 and above)</li>\n</ol>\n<h1>Setup</h1>\n<ol>\n<li>Clone the repository.</li>\n<li>Install protoc (Protocol Buffers Compiler) on a Linux system, follow these steps:</li>\n</ol>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install -y unzip wget\n</code></pre>\n<p>Download the protoc Binary</p>\n<pre><code class=\"language-bash\">wget https://github.com/protocolbuffers/protobuf/releases/download/v23.3/protoc-23.3-linux-x86_64.zip\n</code></pre>\n<p>Extract the Binary</p>\n<pre><code class=\"language-bash\">unzip protoc-23.3-linux-x86_64.zip -d protoc\n</code></pre>\n<p>Move protoc to a Directory in Your PATH</p>\n<pre><code class=\"language-bash\">sudo mv protoc/bin/protoc /usr/local/bin/\nsudo mv protoc/include/* /usr/local/include/\n</code></pre>\n<p>Verify Installation</p>\n<pre><code class=\"language-bash\">protoc --version\n</code></pre>","excerpt":"Overview 🚀 This project builds a scalable gRPC in Node.js, enabling fast, secure, and efficient inter-service communication. gRPC, a high-performance RPC framework by Google…","frontmatter":{"listName":"gRPC (Node.js)","nameOfClass":"projects-items","popupGithubLink":"https://github.com/AyemunHossain/grpc-nodejs","popupImageAlt":"","popupImageSrc":"","popupLiveLink":"","techIcons":["nodedotjs","mysql","redis"],"title":"gRPC in Node.js with Protocol Buffers","video":"false","description":null,"keywords":null}}},"pageContext":{"slug":"projects/grpc-nodejs"}},
    "staticQueryHashes": ["4202924991"]}