https://github.com/tajpouria/stub
A micro-services harmony sample of concurrent purchasing a single item
https://github.com/tajpouria/stub
kubernetes microservices nats-streaming
Last synced: 6 months ago
JSON representation
A micro-services harmony sample of concurrent purchasing a single item
- Host: GitHub
- URL: https://github.com/tajpouria/stub
- Owner: tajpouria
- License: mit
- Created: 2020-06-07T13:49:35.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2020-11-17T01:45:13.000Z (almost 5 years ago)
- Last Synced: 2025-03-28T19:00:10.727Z (7 months ago)
- Topics: kubernetes, microservices, nats-streaming
- Language: TypeScript
- Homepage:
- Size: 3.14 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Stub [](https://travis-ci.org/tajpouria/stub) [](https://app.codacy.com/manual/tajpouria/stub?utm_source=github.com&utm_medium=referral&utm_content=tajpouria/stub&utm_campaign=Badge_Grade_Dashboard)
Stub consists of a 7-tier micro-services application. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them. This application works on the Any Kubernetes cluster.
## Services
### Authentication service [](https://coveralls.io/github/tajpouria/stub?branch=master)
Authenticate users using either local(email) or OAuth(Google) strategy, Send users confirmation and forgot password email, and expose JWT cookie session.
### Charge service [](https://coveralls.io/gitlab/tajpouria/stub-charge?branch=master)
Responsible to create, store, and handling linking charge to locally replicated order instance, Charges the given credit card using Stripe API with given amount and publish an 'order:completed' event.
### Expiration service [](https://goreportcard.com/report/github.com/tajpouria/stub)
Using NSQ to publish and 'order:expired' event whenever created order expiration date exceeded.
### Order service [](https://coveralls.io/gitlab/tajpouria/stub-order?branch=master)
Responsible to create, store, and handling linking order to locally replicated ticket instance and publishing 'order:created' event.
### Ticket service [](https://coveralls.io/gitlab/tajpouria/stub-ticket?branch=master)
Responsible to create, store and synchronizing ticket status (Created|Completed|Cancelled) by listening to order events and publishing ticket updates.
### Client [](https://app.netlify.com/sites/stub-client/deploys)
Exposes an HTTP server to serve the Nuxt web application.
## Package
### @tajpouria/stub-common [](https://www.npmjs.com/package/@tajpouria/stub-common)
Share common modules between node-based services.
## License
Stub is [MIT licensed](LICENSE).