{"id":22744176,"url":"https://github.com/mehradi-github/microservices-ticketing","last_synced_at":"2026-04-10T12:32:53.640Z","repository":{"id":62169288,"uuid":"556183279","full_name":"mehradi-github/microservices-ticketing","owner":"mehradi-github","description":"Built Microservices Ticketing and submodule Authentication with React, Node.js, Kubernetes, Docker","archived":false,"fork":false,"pushed_at":"2022-11-02T07:31:48.000Z","size":146,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-03T12:38:58.371Z","etag":null,"topics":["docker","kubernetes","mongodb","mongoose","nodejs","reactjs","skaffold"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mehradi-github.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}},"created_at":"2022-10-23T08:53:51.000Z","updated_at":"2024-06-30T16:07:54.000Z","dependencies_parsed_at":"2022-10-27T18:00:38.211Z","dependency_job_id":null,"html_url":"https://github.com/mehradi-github/microservices-ticketing","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mehradi-github/microservices-ticketing","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehradi-github%2Fmicroservices-ticketing","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehradi-github%2Fmicroservices-ticketing/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehradi-github%2Fmicroservices-ticketing/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehradi-github%2Fmicroservices-ticketing/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mehradi-github","download_url":"https://codeload.github.com/mehradi-github/microservices-ticketing/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mehradi-github%2Fmicroservices-ticketing/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31642913,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-10T07:40:12.752Z","status":"ssl_error","status_checked_at":"2026-04-10T07:40:11.664Z","response_time":98,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","kubernetes","mongodb","mongoose","nodejs","reactjs","skaffold"],"created_at":"2024-12-11T01:40:41.773Z","updated_at":"2026-04-10T12:32:53.603Z","avatar_url":"https://github.com/mehradi-github.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservices with Skaffold, Kubernetes, Docker\nMicroservices with Node JS and React(provides services for buyers and sellers of tickets for events)\n\n- [Microservices with Node JS and React](#microservices-with-node-js-and-react)\n  - [Adding a Submodule](#adding-a-submodule)\n  - [Remote development over SSH](#remote-development-over-ssh)\n  - [skaffold](#skaffold)\n  - [Ingress NGINX Controller(minikube)](#ingress-nginx-controllerminikube)\n  - [Managing Secrets using kubectl](#managing-secrets-using-kubectl)\n    - [jsonpath](#jsonpath)\n  - [REST Client](#rest-client)\n  \n## Adding a Submodule\n\n```sh\n\ngit submodule add https://github.com/\u003cuser\u003e/microservices-ticketing-auth auth\n# Newer versions of Git will do this automatically, but older versions will require you to explicitly tell Git to download the contents of submodule\ngit submodule update --init --recursive\n# Clone command to ensure you download everything, including any submodules\ngit clone --recursive \u003cproject url\u003e\n# update the submodule to the latest remote commit.\ngit submodule update --remote --merge\n# List Submodules in Git\ngit config --file .gitmodules --get-regexp path | awk '{ print $2 }'\n# Set url \ngit submodule set-url \u003cpath\u003e \u003cnewurl\u003e\n\n# Delete submodule\ngit submodule deinit \u003csubmodule_directory\u003e\ngit rm \u003csubmodule_directory\u003e\nrm -rf .git/modules/\u003csubmodule_directory\u003e\ngit commit -m\"Removed Submodule\"\ngit push\n```\n## Remote development over SSH\nCreating and connecting to a virtual machine (VM) via the Visual Studio Code Remote - [SSH extension](https://code.visualstudio.com/docs/remote/ssh-tutorial). \n```sh\n# sudo systemctl restart sshd.service\n# connect from windows to linux via ssh\n# ssh -i C:\\Users\\Developer/.ssh/id_rsa \u003cUSER\u003e@\u003cIP\u003e\n```\n\n## skaffold\n[Skaffold](https://skaffold.dev/docs/quickstart/) handles the workflow for building, pushing and deploying your application, allowing you to focus on what matters most: writing code.\n```sh\n# For Linux x86_64 (amd64)\ncurl -Lo skaffold https://storage.googleapis.com/skaffold/releases/v2.0.0/skaffold-linux-amd64 \u0026\u0026 \\\nsudo install skaffold /usr/local/bin/\n\n#minikube start\nminikube start --profile custom\nskaffold config set --global local-cluster true\neval $(minikube -p custom docker-env)\n\nskaffold init --skip-build\nskaffold dev\n# skaffold run --tail\n\nminikube ssh\ncurl -i \u003cCluster-IP\u003e:\u003cPort\u003e\n```\n\n## Ingress NGINX Controller(minikube)\n[ingress-nginx](https://kubernetes.github.io/ingress-nginx/deploy/#minikube) is an Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer.\n```sh\nminikube addons enable ingress\n\nvi /etc/hosts\n# 127.0.0.1 ticketing.dev\n\ncurl --location --request POST 'http://\u003cHost\u003e:3000/api/users/singup' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n    \"email\":\"sdfsdfsdf@sdfsd.dfd\",\n    \"password\":\"sdfsdfsdf\"\n}'\n```\n\n## Managing Secrets using kubectl\n```sh \necho -n '1f2d1e2e67df' \u003e ./password.txt\n\n# The default key name is the filename. You can optionally set the key name\nkubectl create secret generic db-user-pass \\\n  --from-literal=username='admin' \\\n  --from-file=password=./password.txt\n\nkubectl get secrets\nkubectl describe secrets/db-user-pass\n\nkubectl get secret db-user-pass -o jsonpath='{.data.password}' | base64 --decode\nkubectl delete secret db-user-pass\n  \n```\n### jsonpath\n[JSONPath](https://jsonpath.com/) is a query language for JSON, similar to XPath for XML. It allows you to select and extract data from a JSON document. You use a JSONPath expression to traverse the path to an element in the JSON structure.\n\u003cimg src=\"./public/assets/images/jsonpath.jpeg\" alt=\"jsonpath\" width=\"250\"/\u003e\n\n## REST Client\n[REST Client](https://marketplace.visualstudio.com/items?itemName=humao.rest-client) allows you to send HTTP request and view the response in Visual Studio Code directly.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehradi-github%2Fmicroservices-ticketing","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmehradi-github%2Fmicroservices-ticketing","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmehradi-github%2Fmicroservices-ticketing/lists"}