# sumitkapatkar2709/purelybackend architecture

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

- Interactive diagram: https://gitdiagram.com/sumitkapatkar2709/purelybackend
- Repository: https://github.com/sumitkapatkar2709/purelybackend

## Overview

PURELY is a health-and-wellness e-commerce application with a React storefront and a Spring microservice backend; the tree also contains a monolithic backend. The principal documented journey is browsing or searching products, managing a cart, checking out, then viewing order status/history and receiving confirmation. Authentication and registration verification, category/product administration, and notifications are additional capabilities. The graph focuses on the documented microservice architecture; the sampled source confirms email/payment implementations, but does not establish all frontend or service-to-service call paths, so uncertain links are omitted.

Main entry points: [`microservice-backend/api-gateway/src/main/java/com/wellNexa/apigateway/ApiGatewayApplication.java`](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/api-gateway/src/main/java/com/wellNexa/apigateway/ApiGatewayApplication.java) (API gateway), [`microservice-backend/cart-service/src/main/java/com/wellNexa/cartservice/controllers/CartController.java`](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/cart-service/src/main/java/com/wellNexa/cartservice/controllers/CartController.java) (Cart and payment), [`microservice-backend/order-service/src/main/java/com/wellNexa/orderservice/controllers/OrderController.java`](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/order-service/src/main/java/com/wellNexa/orderservice/controllers/OrderController.java) (Order management), [`microservice-backend/auth-service/src/main/java/com/wellNexa/authservice/controllers/AuthController.java`](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/auth-service/src/main/java/com/wellNexa/authservice/controllers/AuthController.java) (Authentication)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_storefront["Storefront"]
  node_web["React storefront<br/>[App.jsx]"]
  node_webapis["API clients"]
end

subgraph group_edge["API edge"]
  node_gateway["API gateway"]
  node_registry[("Service registry")]
end

subgraph group_commerce["Commerce services"]
  node_catalog["Product catalog"]
  node_categories["Categories"]
  node_cart["Cart and payment"]
  node_orders["Order management"]
end

subgraph group_identity["Identity services"]
  node_auth["Authentication"]
  node_users["User profiles"]
end

subgraph group_platform["Platform integrations"]
  node_notifications["Email notifications"]
  node_mongodb[("MongoDB")]
end

node_shopper(("Shopper"))
node_email["Email provider"]
node_stripe["Stripe checkout"]
node_monolith["Monolithic backend"]

node_shopper -->|"uses"| node_web
node_web -->|"requests"| node_webapis
node_webapis -->|"calls APIs"| node_gateway
node_gateway -->|"routes requests"| node_catalog
node_gateway -->|"routes requests"| node_categories
node_gateway -->|"routes requests"| node_cart
node_gateway -->|"routes requests"| node_orders
node_gateway -->|"routes requests"| node_auth
node_gateway -->|"routes requests"| node_users
node_catalog -->|"reads/writes"| node_mongodb
node_categories -->|"reads/writes"| node_mongodb
node_cart -->|"reads/writes"| node_mongodb
node_orders -->|"reads/writes"| node_mongodb
node_auth -->|"reads/writes"| node_mongodb
node_users -->|"reads/writes"| node_mongodb
node_gateway -->|"discovers services"| node_registry
node_auth -->|"sends verification"| node_notifications
node_orders -->|"sends confirmation"| node_notifications
node_notifications -->|"sends mail"| node_email
node_cart -.->|"creates sessions"| node_stripe

click node_web "https://github.com/sumitkapatkar2709/purelybackend/blob/main/frontend/src/App.jsx"
click node_webapis "https://github.com/sumitkapatkar2709/purelybackend/tree/main/frontend/src/api-service"
click node_gateway "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/api-gateway/src/main/java/com/wellNexa/apigateway/ApiGatewayApplication.java"
click node_registry "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/service-registry/src/main/java/com/wellNexa/serviceregistry/ServiceRegistryApplication.java"
click node_catalog "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/product-service/src/main/java/com/wellNexa/productservice/controllers/CommonProductController.java"
click node_categories "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/category-service/src/main/java/com/wellNexa/categoryservice/controllers/CommonCategoryController.java"
click node_cart "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/cart-service/src/main/java/com/wellNexa/cartservice/controllers/CartController.java"
click node_orders "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/order-service/src/main/java/com/wellNexa/orderservice/controllers/OrderController.java"
click node_auth "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/auth-service/src/main/java/com/wellNexa/authservice/controllers/AuthController.java"
click node_users "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/user-service/src/main/java/com/wellNexa/userservice/controllers/UserController.java"
click node_notifications "https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/notification-service/src/main/java/com/wellNexa/notificationservice/controller/NotificationController.java"
click node_monolith "https://github.com/sumitkapatkar2709/purelybackend/blob/main/monolithic-backend/src/main/java/com/dharshi/purely/PurelyApplication.java"

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_web,node_webapis toneBlue
class node_gateway,node_registry toneAmber
class node_catalog,node_categories,node_cart,node_orders toneMint
class node_auth,node_users toneRose
class node_notifications,node_mongodb,node_shopper,node_email,node_stripe toneIndigo
class node_monolith toneTeal
```

## Components

### Storefront

- [React storefront](https://github.com/sumitkapatkar2709/purelybackend/blob/main/frontend/src/App.jsx): `frontend/src/App.jsx`
- [API clients](https://github.com/sumitkapatkar2709/purelybackend/tree/main/frontend/src/api-service): `frontend/src/api-service`

### API edge

- [API gateway](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/api-gateway/src/main/java/com/wellNexa/apigateway/ApiGatewayApplication.java): `microservice-backend/api-gateway/src/main/java/com/wellNexa/apigateway/ApiGatewayApplication.java`
- [Service registry](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/service-registry/src/main/java/com/wellNexa/serviceregistry/ServiceRegistryApplication.java): `microservice-backend/service-registry/src/main/java/com/wellNexa/serviceregistry/ServiceRegistryApplication.java`

### Commerce services

- [Product catalog](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/product-service/src/main/java/com/wellNexa/productservice/controllers/CommonProductController.java): `microservice-backend/product-service/src/main/java/com/wellNexa/productservice/controllers/CommonProductController.java`
- [Categories](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/category-service/src/main/java/com/wellNexa/categoryservice/controllers/CommonCategoryController.java): `microservice-backend/category-service/src/main/java/com/wellNexa/categoryservice/controllers/CommonCategoryController.java`
- [Cart and payment](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/cart-service/src/main/java/com/wellNexa/cartservice/controllers/CartController.java): `microservice-backend/cart-service/src/main/java/com/wellNexa/cartservice/controllers/CartController.java`
- [Order management](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/order-service/src/main/java/com/wellNexa/orderservice/controllers/OrderController.java): `microservice-backend/order-service/src/main/java/com/wellNexa/orderservice/controllers/OrderController.java`

### Identity services

- [Authentication](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/auth-service/src/main/java/com/wellNexa/authservice/controllers/AuthController.java): `microservice-backend/auth-service/src/main/java/com/wellNexa/authservice/controllers/AuthController.java`
- [User profiles](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/user-service/src/main/java/com/wellNexa/userservice/controllers/UserController.java): `microservice-backend/user-service/src/main/java/com/wellNexa/userservice/controllers/UserController.java`

### Platform integrations

- [Email notifications](https://github.com/sumitkapatkar2709/purelybackend/blob/main/microservice-backend/notification-service/src/main/java/com/wellNexa/notificationservice/controller/NotificationController.java): `microservice-backend/notification-service/src/main/java/com/wellNexa/notificationservice/controller/NotificationController.java`
- **MongoDB**

### Other components

- **Shopper**
- **Email provider**
- **Stripe checkout**
- [Monolithic backend](https://github.com/sumitkapatkar2709/purelybackend/blob/main/monolithic-backend/src/main/java/com/dharshi/purely/PurelyApplication.java): `monolithic-backend/src/main/java/com/dharshi/purely/PurelyApplication.java`

## Connections

- Shopper → React storefront: uses
- React storefront → API clients: requests
- API clients → API gateway: calls APIs
- API gateway → Product catalog: routes requests
- API gateway → Categories: routes requests
- API gateway → Cart and payment: routes requests
- API gateway → Order management: routes requests
- API gateway → Authentication: routes requests
- API gateway → User profiles: routes requests
- Product catalog → MongoDB: reads/writes
- Categories → MongoDB: reads/writes
- Cart and payment → MongoDB: reads/writes
- Order management → MongoDB: reads/writes
- Authentication → MongoDB: reads/writes
- User profiles → MongoDB: reads/writes
- API gateway → Service registry: discovers services
- Authentication → Email notifications: sends verification
- Order management → Email notifications: sends confirmation
- Email notifications → Email provider: sends mail
- Cart and payment → Stripe checkout: creates sessions
