# mohamedwaleed77/ecommerce_helm_chart architecture

> Architecture diagram of the GitHub repository mohamedwaleed77/ecommerce_helm_chart, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/mohamedwaleed77/ecommerce_helm_chart
- Repository: https://github.com/mohamedwaleed77/ecommerce_helm_chart

## Overview

This is a bilingual e-commerce application: shoppers browse products, authenticate, manage a persistent cart, and check out; administrators manage inventory and users. The backend separates users, products, carts, and orders into Express services with MongoDB models; the frontend provides storefront, checkout, account, and admin views. The README also describes Kubernetes, Helm, and AWS operations, but their implementation files are not present in the supplied tree. Frontend-to-service edges are dashed because the supplied excerpts do not show those network calls.

Main entry points: [`WebAppAlone/frontend/src/app/page.js`](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/page.js) (Product storefront), [`WebAppAlone/backend/orderService/src/module/order.controller.js`](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/src/module/order.controller.js) (Order and payment), [`WebAppAlone/backend/userService/src/module/user.controller.js`](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/src/module/user.controller.js) (Account operations), [`WebAppAlone/backend/cartService/src/module/cart.controller.js`](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/src/module/cart.controller.js) (Cart operations)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront and UI"]
  node_storefront["Product storefront<br/>[page.js]"]
  node_productcard["Product cards<br/>[productcard.js]"]
  node_language["Bilingual UI<br/>[lang.js]"]
end

subgraph group_identity["Accounts and identity"]
  node_loginform["Login and signup<br/>[Loginform.js]"]
  node_userrouter["User API routes<br/>[user.router.js]"]
  node_usercontroller["Account operations<br/>[user.controller.js]"]
  node_userdb[("User records<br/>[user.model.js]")]
  node_email["Confirmation mail<br/>[send_mail.js]"]
  node_adminusers["User administration<br/>[page.js]"]
end

subgraph group_catalog["Catalog and cart"]
  node_productrouter["Product API routes<br/>[product.router.js]"]
  node_productcontroller["Catalog operations"]
  node_productdb[("Product records<br/>[product.model.js]")]
  node_adminproducts["Inventory admin<br/>[page.js]"]
  node_cartrouter["Cart API routes<br/>[cart.router.js]"]
  node_cartcontroller["Cart operations<br/>[cart.controller.js]"]
  node_cartdb[("Cart records<br/>[cart.model.js]")]
end

subgraph group_commerce["Orders and checkout"]
  node_cartpage["Cart view<br/>[page.js]"]
  node_checkout["Checkout form<br/>[checkout.js]"]
  node_orderrouter["Order API routes<br/>[order.router.js]"]
  node_ordercontroller["Order and payment"]
  node_orderdb[("Order records<br/>[order.model.js]")]
  node_stripe["Stripe checkout"]
  node_orderspage["Order history<br/>[page.js]"]
end

node_shopper(("Shopper"))

node_shopper -->|"browses"| node_storefront
node_storefront -->|"renders"| node_productcard
node_storefront -.->|"requests catalog"| node_productrouter
node_storefront -->|"translates labels"| node_language
node_shopper -->|"authenticates"| node_loginform
node_loginform -.->|"submits credentials"| node_userrouter
node_userrouter -->|"routes requests"| node_usercontroller
node_usercontroller -->|"reads and writes"| node_userdb
node_usercontroller -->|"sends confirmation"| node_email
node_adminusers -.->|"manages accounts"| node_userrouter
node_productrouter -->|"routes requests"| node_productcontroller
node_productcontroller -->|"reads and writes"| node_productdb
node_adminproducts -.->|"manages inventory"| node_productrouter
node_cartrouter -->|"routes requests"| node_cartcontroller
node_cartcontroller -->|"reads and writes"| node_cartdb
node_cartcontroller -->|"updates stock"| node_productdb
node_shopper -->|"manages cart"| node_cartpage
node_cartpage -.->|"requests cart"| node_cartrouter
node_cartpage -->|"opens checkout"| node_checkout
node_checkout -.->|"submits order"| node_orderrouter
node_orderrouter -->|"routes requests"| node_ordercontroller
node_ordercontroller -->|"creates and reads"| node_orderdb
node_ordercontroller -->|"loads and clears cart"| node_cartdb
node_ordercontroller -->|"creates payment session"| node_stripe
node_orderspage -.->|"requests history"| node_orderrouter

click node_storefront "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/page.js"
click node_productcard "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/components/productcard.js"
click node_language "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/lib/lang.js"
click node_loginform "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/components/Loginform.js"
click node_userrouter "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/src/module/user.router.js"
click node_usercontroller "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/src/module/user.controller.js"
click node_userdb "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/database/user.model.js"
click node_email "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/mailer/send_mail.js"
click node_adminusers "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/usersconfig/page.js"
click node_productrouter "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/src/module/product.router.js"
click node_productcontroller "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/src/module/product.controller.js"
click node_productdb "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/database/product.model.js"
click node_adminproducts "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/productsconfig/page.js"
click node_cartrouter "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/src/module/cart.router.js"
click node_cartcontroller "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/src/module/cart.controller.js"
click node_cartdb "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/database/cart.model.js"
click node_cartpage "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/cart/page.js"
click node_checkout "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/cart/checkout.js"
click node_orderrouter "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/src/module/order.router.js"
click node_ordercontroller "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/src/module/order.controller.js"
click node_orderdb "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/database/order.model.js"
click node_orderspage "https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/orders/page.js"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_storefront,node_productcard,node_language toneBlue
class node_loginform,node_userrouter,node_usercontroller,node_userdb,node_email,node_adminusers toneAmber
class node_productrouter,node_productcontroller,node_productdb,node_adminproducts,node_cartrouter,node_cartcontroller,node_cartdb toneMint
class node_cartpage,node_checkout,node_orderrouter,node_ordercontroller,node_orderdb,node_stripe,node_orderspage toneRose
class node_shopper toneIndigo
```

## Components

### Storefront and UI

- [Product storefront](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/page.js): `WebAppAlone/frontend/src/app/page.js`
- [Product cards](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/components/productcard.js): `WebAppAlone/frontend/src/app/components/productcard.js`
- [Bilingual UI](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/lib/lang.js): `WebAppAlone/frontend/lib/lang.js`

### Accounts and identity

- [Login and signup](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/components/Loginform.js): `WebAppAlone/frontend/src/app/components/Loginform.js`
- [User API routes](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/src/module/user.router.js): `WebAppAlone/backend/userService/src/module/user.router.js`
- [Account operations](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/src/module/user.controller.js): `WebAppAlone/backend/userService/src/module/user.controller.js`
- [User records](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/database/user.model.js): `WebAppAlone/backend/userService/database/user.model.js`
- [Confirmation mail](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/userService/mailer/send_mail.js): `WebAppAlone/backend/userService/mailer/send_mail.js`
- [User administration](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/usersconfig/page.js): `WebAppAlone/frontend/src/app/usersconfig/page.js`

### Catalog and cart

- [Product API routes](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/src/module/product.router.js): `WebAppAlone/backend/productService/src/module/product.router.js`
- [Catalog operations](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/src/module/product.controller.js): `WebAppAlone/backend/productService/src/module/product.controller.js`
- [Product records](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/productService/database/product.model.js): `WebAppAlone/backend/productService/database/product.model.js`
- [Inventory admin](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/productsconfig/page.js): `WebAppAlone/frontend/src/app/productsconfig/page.js`
- [Cart API routes](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/src/module/cart.router.js): `WebAppAlone/backend/cartService/src/module/cart.router.js`
- [Cart operations](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/src/module/cart.controller.js): `WebAppAlone/backend/cartService/src/module/cart.controller.js`
- [Cart records](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/cartService/database/cart.model.js): `WebAppAlone/backend/cartService/database/cart.model.js`

### Orders and checkout

- [Cart view](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/cart/page.js): `WebAppAlone/frontend/src/app/cart/page.js`
- [Checkout form](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/cart/checkout.js): `WebAppAlone/frontend/src/app/cart/checkout.js`
- [Order API routes](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/src/module/order.router.js): `WebAppAlone/backend/orderService/src/module/order.router.js`
- [Order and payment](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/src/module/order.controller.js): `WebAppAlone/backend/orderService/src/module/order.controller.js`
- [Order records](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/backend/orderService/database/order.model.js): `WebAppAlone/backend/orderService/database/order.model.js`
- **Stripe checkout**
- [Order history](https://github.com/mohamedwaleed77/ecommerce_helm_chart/blob/main/WebAppAlone/frontend/src/app/orders/page.js): `WebAppAlone/frontend/src/app/orders/page.js`

### Other components

- **Shopper**

## Connections

- Shopper → Product storefront: browses (evidence: `WebAppAlone/frontend/src/app/page.js`)
- Product storefront → Product cards: renders (evidence: `WebAppAlone/frontend/src/app/page.js`)
- Product storefront → Product API routes: requests catalog
- Product storefront → Bilingual UI: translates labels (evidence: `WebAppAlone/frontend/src/app/page.js`)
- Shopper → Login and signup: authenticates (evidence: `WebAppAlone/frontend/src/app/components/Loginform.js`)
- Login and signup → User API routes: submits credentials
- User API routes → Account operations: routes requests (evidence: `WebAppAlone/backend/userService/src/module/user.router.js`)
- Account operations → User records: reads and writes (evidence: `WebAppAlone/backend/userService/src/module/user.controller.js`)
- Account operations → Confirmation mail: sends confirmation (evidence: `WebAppAlone/backend/userService/src/module/user.controller.js`)
- User administration → User API routes: manages accounts
- Product API routes → Catalog operations: routes requests (evidence: `WebAppAlone/backend/productService/src/module/product.router.js`)
- Catalog operations → Product records: reads and writes (evidence: `WebAppAlone/backend/productService/src/module/product.controller.js`)
- Inventory admin → Product API routes: manages inventory
- Cart API routes → Cart operations: routes requests (evidence: `WebAppAlone/backend/cartService/src/module/cart.router.js`)
- Cart operations → Cart records: reads and writes (evidence: `WebAppAlone/backend/cartService/src/module/cart.controller.js`)
- Cart operations → Product records: updates stock (evidence: `WebAppAlone/backend/cartService/src/module/cart.controller.js`)
- Shopper → Cart view: manages cart (evidence: `WebAppAlone/frontend/src/app/cart/page.js`)
- Cart view → Cart API routes: requests cart
- Cart view → Checkout form: opens checkout (evidence: `WebAppAlone/frontend/src/app/cart/page.js`)
- Checkout form → Order API routes: submits order
- Order API routes → Order and payment: routes requests (evidence: `WebAppAlone/backend/orderService/src/module/order.router.js`)
- Order and payment → Order records: creates and reads (evidence: `WebAppAlone/backend/orderService/src/module/order.controller.js`)
- Order and payment → Cart records: loads and clears cart (evidence: `WebAppAlone/backend/orderService/src/module/order.controller.js`)
- Order and payment → Stripe checkout: creates payment session (evidence: `WebAppAlone/backend/orderService/src/module/order.controller.js`)
- Order history → Order API routes: requests history
