Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/haldih/k8s-project
https://github.com/haldih/k8s-project
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/haldih/k8s-project
- Owner: HaldiH
- Created: 2024-12-03T14:46:50.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-10T19:58:53.000Z (about 1 month ago)
- Last Synced: 2024-12-10T20:38:00.499Z (about 1 month ago)
- Language: Go
- Size: 4.23 MB
- Stars: 0
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Containerization and Orchestration Technologies - Final Project
**Online Boutique** is a cloud-first microservices demo application. The application is a web-based e-commerce app where users can browse items, add them to the cart, and purchase them.
## Architecture
**Online Boutique** is composed of 11 microservices written in different
languages that talk to each other over gRPC.[![Architecture of microservices](/docs/img/architecture-diagram.png)](/docs/img/architecture-diagram.png)
Find **Protocol Buffers Descriptions** at the [`./protos` directory](/protos).
| Service | Language | Description |
| --------------------------------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
| [frontend](/src/frontend) | Go | Exposes an HTTP server to serve the website. Does not require signup/login and generates session IDs for all users automatically. |
| [cartservice](/src/cartservice) | C# | Stores the items in the user's shopping cart in Redis and retrieves it. |
| [productcatalogservice](/src/productcatalogservice) | Go | Provides the list of products from a JSON file and ability to search products and get individual products. |
| [currencyservice](/src/currencyservice) | Node.js | Converts one money amount to another currency. Uses real values fetched from European Central Bank. It's the highest QPS service. |
| [paymentservice](/src/paymentservice) | Node.js | Charges the given credit card info (mock) with the given amount and returns a transaction ID. |
| [shippingservice](/src/shippingservice) | Go | Gives shipping cost estimates based on the shopping cart. Ships items to the given address (mock) |
| [emailservice](/src/emailservice) | Python | Sends users an order confirmation email (mock). |
| [checkoutservice](/src/checkoutservice) | Go | Retrieves user cart, prepares order and orchestrates the payment, shipping and the email notification. |
| [recommendationservice](/src/recommendationservice) | Python | Recommends other products based on what's given in the cart. |
| [adservice](/src/adservice) | Java | Provides text ads based on given context words. |