https://github.com/ashot72/microservices-based-online-store
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
https://github.com/ashot72/microservices-based-online-store
docker ingress ingress-controller kubernetes microservices microservices-architecture nats-streaming nextjs nginx nodejs online-store react
Last synced: about 2 months ago
JSON representation
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
- Host: GitHub
- URL: https://github.com/ashot72/microservices-based-online-store
- Owner: Ashot72
- Created: 2022-09-14T09:44:39.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2022-10-30T18:42:17.000Z (almost 3 years ago)
- Last Synced: 2024-12-30T14:53:34.771Z (9 months ago)
- Topics: docker, ingress, ingress-controller, kubernetes, microservices, microservices-architecture, nats-streaming, nextjs, nginx, nodejs, online-store, react
- Language: TypeScript
- Homepage:
- Size: 5.21 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Microservices-Based Online Store
I 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.
You 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.
```
Create kubectl secrets for the appkubectl create secret generic jwt-secret --from-literal=JWT_KEY=asdf
kubectl create secret generic stripe-secret --from-literal STRIPE_KEY=sk_test_51KwPjRKVwzOYdWGqlFEqqLuE1OnBz4JkZhgnYnqUw43SBmHVr9PTzhgUNalLWORbD4XDDPQegUWogW3A4ioxjpnA00On3HiaXFStripe Card Information for testing
Card Number: 4242 4242 4242 4242
CVC: 567
Expiration Date: 12/34Run the following command to install ingress-nginx
kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml
Run the following command to start the app
skaffold dev
```
[Microfrontends](https://github.com/Ashot72/Microfrontends-Microservices-Based-Online-Store) version of this Online Store.
Go to Microservices-Based Online Store [Video](https://youtu.be/Mb2B3ByuvJ0) page
Go to Microservices-Based Online Store [Description](https://ashot72.github.io//Microservices-based-Online-Store/index.html) page