# ismailharik/-multi-universe-ecommerce-platform architecture

> Architecture diagram of the GitHub repository ismailharik/-multi-universe-ecommerce-platform, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-30). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/ismailharik/-multi-universe-ecommerce-platform
- Repository: https://github.com/ismailharik/-multi-universe-ecommerce-platform

## Overview

NobleSense is a multi-role ecommerce platform: customers browse products, manage a cart, check out and track orders, while administrators manage catalog and customer activity. The repository has three Angular/Spring parts: storefront, admin dashboard, and API. The excerpts directly establish shop routing, review endpoints, JWT handling and dashboard authentication; the README documents broader commerce capabilities. Many backend controllers, client components and service implementations are only present in the tree, so their internal calls are not asserted.

Main entry points: [`noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers`](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers) (REST API), [`noble-sense-client/src/app/app.module.ts`](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-client/src/app/app.module.ts) (Storefront app), [`noble-sense-dashboard/src/app/app.module.ts`](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/app.module.ts) (Dashboard app), [`noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java`](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java) (Authentication service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Customer storefront"]
  node_store_app["Storefront app<br/>[app.module.ts]"]
  node_shop_routes["Shop routes"]
  node_shop_pages["Catalog and cart"]
  node_checkout["Checkout and profile"]
  node_store_shared["Shared UI and services"]
end

subgraph group_dashboard["Admin dashboard"]
  node_admin_app["Dashboard app<br/>[app.module.ts]"]
  node_admin_routes["Admin routes"]
  node_admin_features["Management screens"]
  node_admin_auth["Dashboard authentication"]
end

subgraph group_api["Commerce API"]
  node_api_entry["REST API"]
  node_review_controller["Review endpoints"]
  node_review_service["Review operations<br/>[ReviewService.java]"]
  node_domain_services["Commerce services"]
end

subgraph group_security["Identity and security"]
  node_auth_controller["Auth endpoints"]
  node_auth_service["Authentication service"]
  node_jwt["JWT service<br/>[JwtService.java]"]
end

subgraph group_data["Persistence"]
  node_entities["Commerce entities"]
  node_user_entity["User and token<br/>[User.java]"]
  node_repositories["JPA repositories"]
  node_mysql[("MySQL database")]
end

node_customer(("Customer"))
node_admin_actor(("Administrator"))
node_aws_s3[("AWS S3")]

node_customer -.->|"uses"| node_store_app
node_store_app -->|"loads"| node_shop_routes
node_shop_routes -->|"routes to"| node_shop_pages
node_customer -.->|"uses"| node_checkout
node_shop_pages -.->|"uses"| node_store_shared
node_admin_actor -.->|"uses"| node_admin_app
node_admin_app -->|"loads"| node_admin_routes
node_admin_routes -->|"routes to"| node_admin_features
node_admin_app -->|"provides"| node_admin_auth
node_admin_auth -.->|"HTTP requests"| node_auth_controller
node_store_app -.->|"HTTP requests"| node_api_entry
node_admin_features -.->|"HTTP requests"| node_api_entry
node_api_entry -.->|"routes to"| node_auth_controller
node_auth_controller -.->|"delegates to"| node_auth_service
node_auth_service -->|"generates tokens"| node_jwt
node_auth_service -->|"creates user"| node_user_entity
node_api_entry -.->|"routes to"| node_review_controller
node_review_controller -->|"delegates to"| node_review_service
node_review_service -.->|"implemented by"| node_domain_services
node_domain_services -.->|"reads and writes"| node_repositories
node_repositories -.->|"persists"| node_mysql
node_entities -.->|"mapped by ORM"| node_mysql
node_user_entity -.->|"queried by"| node_repositories
node_api_entry -.->|"stores media"| node_aws_s3

click node_store_app "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-client/src/app/app.module.ts"
click node_shop_routes "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-client/src/app/shop/shop-routing.module.ts"
click node_shop_pages "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/shop/pages"
click node_checkout "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/pages"
click node_store_shared "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/shared"
click node_admin_app "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/app.module.ts"
click node_admin_routes "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/pages/pages-routing.module.ts"
click node_admin_features "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-dashboard/src/app/pages"
click node_admin_auth "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/pages/authentication/services/authentication.service.ts"
click node_api_entry "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers"
click node_auth_controller "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/AuthenticationController.java"
click node_auth_service "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java"
click node_jwt "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/config/JwtService.java"
click node_review_controller "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/ReviewController.java"
click node_review_service "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services/ReviewService.java"
click node_domain_services "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services"
click node_entities "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/entities"
click node_user_entity "https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/entities/User.java"
click node_repositories "https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/repositories"

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_store_app,node_shop_routes,node_shop_pages,node_checkout,node_store_shared toneBlue
class node_admin_app,node_admin_routes,node_admin_features,node_admin_auth,node_aws_s3 toneAmber
class node_api_entry,node_review_controller,node_review_service,node_domain_services toneMint
class node_auth_controller,node_auth_service,node_jwt toneRose
class node_entities,node_user_entity,node_repositories,node_mysql,node_customer,node_admin_actor toneIndigo
```

## Components

### Customer storefront

- [Storefront app](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-client/src/app/app.module.ts): `noble-sense-client/src/app/app.module.ts`
- [Shop routes](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-client/src/app/shop/shop-routing.module.ts): `noble-sense-client/src/app/shop/shop-routing.module.ts`
- [Catalog and cart](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/shop/pages): `noble-sense-client/src/app/shop/pages`
- [Checkout and profile](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/pages): `noble-sense-client/src/app/pages`
- [Shared UI and services](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-client/src/app/shared): `noble-sense-client/src/app/shared`

### Admin dashboard

- [Dashboard app](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/app.module.ts): `noble-sense-dashboard/src/app/app.module.ts`
- [Admin routes](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/pages/pages-routing.module.ts): `noble-sense-dashboard/src/app/pages/pages-routing.module.ts`
- [Management screens](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-dashboard/src/app/pages): `noble-sense-dashboard/src/app/pages`
- [Dashboard authentication](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-dashboard/src/app/pages/authentication/services/authentication.service.ts): `noble-sense-dashboard/src/app/pages/authentication/services/authentication.service.ts`

### Commerce API

- [REST API](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers): `noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers`
- [Review endpoints](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/ReviewController.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/ReviewController.java`
- [Review operations](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services/ReviewService.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/services/ReviewService.java`
- [Commerce services](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services): `noble-sense-backend/src/main/java/com/noblesense/noblesense/services`

### Identity and security

- [Auth endpoints](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/AuthenticationController.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/AuthenticationController.java`
- [Authentication service](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java`
- [JWT service](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/config/JwtService.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/config/JwtService.java`

### Persistence

- [Commerce entities](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/entities): `noble-sense-backend/src/main/java/com/noblesense/noblesense/entities`
- [User and token](https://github.com/ismailharik/-multi-universe-ecommerce-platform/blob/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/entities/User.java): `noble-sense-backend/src/main/java/com/noblesense/noblesense/entities/User.java`
- [JPA repositories](https://github.com/ismailharik/-multi-universe-ecommerce-platform/tree/main/noble-sense-backend/src/main/java/com/noblesense/noblesense/repositories): `noble-sense-backend/src/main/java/com/noblesense/noblesense/repositories`
- **MySQL database**

### Other components

- **Customer**
- **Administrator**
- **AWS S3**

## Connections

- Customer → Storefront app: uses
- Storefront app → Shop routes: loads (evidence: `noble-sense-client/src/app/app.module.ts`)
- Shop routes → Catalog and cart: routes to (evidence: `noble-sense-client/src/app/shop/shop-routing.module.ts`)
- Customer → Checkout and profile: uses
- Catalog and cart → Shared UI and services: uses
- Administrator → Dashboard app: uses
- Dashboard app → Admin routes: loads (evidence: `noble-sense-dashboard/src/app/app.module.ts`)
- Admin routes → Management screens: routes to (evidence: `noble-sense-dashboard/src/app/pages/pages-routing.module.ts`)
- Dashboard app → Dashboard authentication: provides (evidence: `noble-sense-dashboard/src/app/app.module.ts`)
- Dashboard authentication → Auth endpoints: HTTP requests
- Storefront app → REST API: HTTP requests
- Management screens → REST API: HTTP requests
- REST API → Auth endpoints: routes to
- Auth endpoints → Authentication service: delegates to
- Authentication service → JWT service: generates tokens (evidence: `noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java`)
- Authentication service → User and token: creates user (evidence: `noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java`)
- REST API → Review endpoints: routes to
- Review endpoints → Review operations: delegates to (evidence: `noble-sense-backend/src/main/java/com/noblesense/noblesense/controllers/ReviewController.java`)
- Review operations → Commerce services: implemented by
- Commerce services → JPA repositories: reads and writes (evidence: `noble-sense-backend/src/main/java/com/noblesense/noblesense/services/AuthenticationService.java`)
- JPA repositories → MySQL database: persists
- Commerce entities → MySQL database: mapped by ORM
- User and token → JPA repositories: queried by (evidence: `noble-sense-backend/src/main/java/com/noblesense/noblesense/repositories/TokenRepository.java`)
- REST API → AWS S3: stores media
