{"id":18849743,"url":"https://github.com/ashot72/microservices-based-online-store","last_synced_at":"2026-04-08T16:01:14.877Z","repository":{"id":117384740,"uuid":"536511032","full_name":"Ashot72/Microservices-based-Online-Store","owner":"Ashot72","description":"Microservices-Based Online Store built with Node JS and Next.js (React). NATS Streaming Server is used for publish -subscribe message distribution model for one-to-many communication","archived":false,"fork":false,"pushed_at":"2022-10-30T18:42:17.000Z","size":5467,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-22T01:30:00.567Z","etag":null,"topics":["docker","ingress","ingress-controller","kubernetes","microservices","microservices-architecture","nats-streaming","nextjs","nginx","nodejs","online-store","react"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/Ashot72.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":"2022-09-14T09:44:39.000Z","updated_at":"2025-04-03T06:33:01.000Z","dependencies_parsed_at":null,"dependency_job_id":"24c12bcd-848e-4ca7-82e8-d19687f029fe","html_url":"https://github.com/Ashot72/Microservices-based-Online-Store","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Ashot72/Microservices-based-Online-Store","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FMicroservices-based-Online-Store","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FMicroservices-based-Online-Store/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FMicroservices-based-Online-Store/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FMicroservices-based-Online-Store/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ashot72","download_url":"https://codeload.github.com/Ashot72/Microservices-based-Online-Store/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ashot72%2FMicroservices-based-Online-Store/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31562696,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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","ingress","ingress-controller","kubernetes","microservices","microservices-architecture","nats-streaming","nextjs","nginx","nodejs","online-store","react"],"created_at":"2024-11-08T03:22:41.061Z","updated_at":"2026-04-08T16:01:14.861Z","avatar_url":"https://github.com/Ashot72.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Microservices-Based Online Store\n\nI built a Microservice-Based Online Store, customized it and deployed it in the local Kubernetes pods, where all the services have their own logic and the database as well as perform the specific functions. It is  built with Node JS and Next.js (React). It also uses NATS Streaming Server to implement publish -subscribe message distribution model for one-to-many communication.\n\nYou can see in the video how I delete Products Service Pod but a user’s shopping cart is still available and you can even process the payment with Stripe (Test mode). This would be very interesting if you have built applications with monolithic architecture only. I deployed the app locally but you can run microservices, say, on Digital Ocean with Kubernetes.\n\n```\nCreate kubectl secrets for the app\n\nkubectl create secret generic jwt-secret --from-literal=JWT_KEY=asdf\nkubectl create secret generic stripe-secret --from-literal STRIPE_KEY=sk_test_51KwPjRKVwzOYdWGqlFEqqLuE1OnBz4JkZhgnYnqUw43SBmHVr9PTzhgUNalLWORbD4XDDPQegUWogW3A4ioxjpnA00On3HiaXF\n\nStripe Card Information for testing\n\nCard Number: 4242 4242 4242 4242\nCVC: 567\nExpiration Date: 12/34\n\nRun the following command to install ingress-nginx \n\nkubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml\n\nRun the following command to start the app\n\nskaffold dev\n\n```\n\n[Microfrontends](https://github.com/Ashot72/Microfrontends-Microservices-Based-Online-Store) version of this Online Store.\n\nGo to Microservices-Based Online Store [Video](https://youtu.be/Mb2B3ByuvJ0) page\n\nGo to Microservices-Based Online Store [Description](https://ashot72.github.io//Microservices-based-Online-Store/index.html) page\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashot72%2Fmicroservices-based-online-store","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fashot72%2Fmicroservices-based-online-store","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fashot72%2Fmicroservices-based-online-store/lists"}