{"id":24760711,"url":"https://github.com/GSGPavan/platform-inventory","last_synced_at":"2025-10-11T08:30:30.153Z","repository":{"id":270374308,"uuid":"908200271","full_name":"GSGPavan/platform-inventory","owner":"GSGPavan","description":"This repository implements a microservices architecture using gRPC for efficient communication, HTTPClient for RESTful interactions, and RabbitMQ for asynchronous messaging. It utilizes Entity Framework Core for database access, and is containerized with Docker and orchestrated using Kubernetes for scalable, cloud-native deployments.","archived":false,"fork":false,"pushed_at":"2025-02-23T14:32:23.000Z","size":218,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-09-07T06:36:20.512Z","etag":null,"topics":["c-sharp","docker","entity-framework-core","grpc","http-client","kubernetes","microservice","rabbitmq","webapi"],"latest_commit_sha":null,"homepage":"","language":"C#","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/GSGPavan.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":"2024-12-25T12:28:12.000Z","updated_at":"2025-02-23T14:33:22.000Z","dependencies_parsed_at":null,"dependency_job_id":"8cbf5111-f6cc-472f-86d1-1dd7599eb2c2","html_url":"https://github.com/GSGPavan/platform-inventory","commit_stats":null,"previous_names":["gsgpavan/platformservice","gsgpavan/platformcommand","gsgpavan/platforminventory"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/GSGPavan/platform-inventory","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSGPavan%2Fplatform-inventory","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSGPavan%2Fplatform-inventory/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSGPavan%2Fplatform-inventory/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSGPavan%2Fplatform-inventory/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GSGPavan","download_url":"https://codeload.github.com/GSGPavan/platform-inventory/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GSGPavan%2Fplatform-inventory/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279006611,"owners_count":26084148,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["c-sharp","docker","entity-framework-core","grpc","http-client","kubernetes","microservice","rabbitmq","webapi"],"created_at":"2025-01-28T18:18:53.364Z","updated_at":"2025-10-11T08:30:30.145Z","avatar_url":"https://github.com/GSGPavan.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# docker commands :\n\n\n\ndocker build -t GSGPavan/PlatformService .\n-\u003e This builds the Dockerfile and tags the image with \"PlatformService\" but the format is dockerdesktopusername/nameOfImage\n\n\n\ndocker run -p 8080:80 -d GSGPavan/PlatformService\n-\u003e This runs the image \"PlatformService\" but the format is dockerdesktopusername/nameOfImage\n-p stands for port mapping. 8080 is external port i.e hosts port and 80 is internal port i.e containers port\n-d stands for detached mode so that we can work on the same terminal for other commands\nEverytime this command is executed, a new running container of this image is created\n\n\n\ndocker ps\n-\u003e This gives the list of containers that are currently running. It gives the container id , image name etc..\n\n\n\ndocker stop containerId\n-\u003e This stops the container whose id is \"containerId\".\n\n\n\ndocker start containerId\n-\u003e This starts the container whose id is \"containerId\".\n\n\n\ndocker push GSGPavan/PlatformService\n-\u003e This pushes the PlatformService image to the dockerhub whose account is \"GSGPavan\"\n\n\n\n\n\n# K8S commands :\n\n\n\nkubectl apply -f PlatformService-depl.yaml\n-\u003e This creates the deployment. Creating the pods and running the containers with the specified image\n\n\n\nkubectl get deployments\n-\u003e This will give the list of deployments\n\n\n\nkubectl get services\n-\u003e This will get the list of services\n\n\n\nkubectl get pods\n-\u003e This will give the list of pods running\n\n\n\nkubectl delete deployment deploymentname\n-\u003e This will delete the deployment whose name is deploymentname\n\n\n\nkubectl rollout restart deployment deploymentname\n-\u003e This will restart the pods by taking the image from the docker hub\n\n\n\nkubectl create secret generic mssql --from-literal=SA_PASSWORD=\"somepassword\"\n-\u003eThis will create a generic secret in kubernetes whose key is \"SA_PASSWORD\" and value is \"somepassword\"\n\n\n\n# rabbit mq\nRabbit Mq is used to communicate between microservices asynchronously. It has different types of exchanges like Direct, FanOut, Topic \u0026 Header.\n-\u003e Direct Exchange delivers messages to queues based on an exact match between the message's routing key and the queue's binding key.\n-\u003e Fanout Exchange fanout exchange broadcasts messages to all queues bound to it, ignoring the routing key.\n-\u003e Topic Exchange routes messages to queues based on a pattern match between the routing key and a queue's binding pattern, using wildcards (* for one word and # for multiple words).\n-\u003e Headers Exchange routes messages based on header attributes instead of the routing key, requiring an exact match between the message's headers and the binding's header conditions.\n\n\n\n# GRPC\ngRPC (Google Remote Procedure Call) is one way to communicate between microservices synchronously. It is faster than HTTP because it uses Protobuf (a binary format) instead of JSON.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGSGPavan%2Fplatform-inventory","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FGSGPavan%2Fplatform-inventory","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FGSGPavan%2Fplatform-inventory/lists"}