# tejachar121/wiprocapstoneproject architecture

> Architecture diagram of the GitHub repository tejachar121/wiprocapstoneproject, 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/tejachar121/wiprocapstoneproject
- Repository: https://github.com/tejachar121/wiprocapstoneproject

## Overview

SmartPizza is a pizza-ordering application with a React client and Spring microservices for authentication, orders, delivery, and administration. The customer journey spans account access, menu/cart/checkout/payment, and delivery tracking; separate admin and delivery-agent workflows manage orders, analytics, and delivery status. Sampled source confirms authentication and delivery-service calls, plus admin aggregation across services. The order-service and most frontend API wiring are represented from the tree only, so uncertain connections are omitted.

Main entry points: [`SmartPizzaFrontend/smartpizza/src/App.js`](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/App.js) (Application routes), [`SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/service/DeliveryService.java`](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/service/DeliveryService.java) (Delivery workflow), [`SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/service/AdminService.java`](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/service/AdminService.java) (Admin aggregation and analytics), [`SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/controller/AuthController.java`](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/controller/AuthController.java) (Authentication API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_client["React client"]
  node_app["Application routes<br/>[App.js]"]
  node_customer_pages["Customer pages<br/>[CustomerHome.jsx]"]
  node_checkout_pages["Cart and checkout<br/>[Checkout.jsx]"]
  node_payment_page["Payment page<br/>[Payment.jsx]"]
  node_tracking_page["Delivery tracking<br/>[Tracking.jsx]"]
  node_admin_page["Admin dashboard<br/>[AdminDashboard.jsx]"]
  node_delivery_page["Agent dashboard"]
end

subgraph group_identity["Identity and access"]
  node_auth_controller["Authentication API"]
  node_auth_service["Registration service<br/>[AuthService.java]"]
  node_user_repo[("User repository<br/>[UserRepo.java]")]
  node_auth_jwt["Token service<br/>[JwtService.java]"]
  node_gateway_filter["JWT gateway filter<br/>[JwtFilter.java]"]
end

subgraph group_orders["Menu and orders"]
  node_order_service["Menu, cart, orders, payments"]
end

subgraph group_delivery["Delivery operations"]
  node_delivery_controller["Delivery API"]
  node_delivery_service["Delivery workflow"]
  node_delivery_repo[("Delivery records<br/>[DeliveryRepo.java]")]
  node_agent_repo[("Agent records")]
end

subgraph group_admin["Administration"]
  node_admin_controller["Admin API"]
  node_admin_service["Admin aggregation and analytics<br/>[AdminService.java]"]
end

node_customer(("Customer"))
node_staff(("Admin or agent"))

node_customer -->|"uses"| node_app
node_staff -->|"uses"| node_app
node_app -->|"routes"| node_customer_pages
node_app -->|"routes"| node_checkout_pages
node_app -->|"routes"| node_payment_page
node_app -->|"routes"| node_tracking_page
node_app -->|"routes"| node_admin_page
node_app -->|"routes"| node_delivery_page
node_auth_controller -->|"registers"| node_auth_service
node_auth_controller -->|"loads user"| node_user_repo
node_auth_controller -->|"creates token"| node_auth_jwt
node_auth_service -->|"checks and saves"| node_user_repo
node_delivery_controller -->|"dispatches"| node_delivery_service
node_delivery_service -->|"reads and writes"| node_delivery_repo
node_delivery_service -->|"loads agent"| node_agent_repo
node_delivery_service -.->|"fetches order"| node_order_service
node_admin_controller -->|"dispatches"| node_admin_service
node_admin_service -.->|"fetches orders"| node_order_service
node_admin_service -.->|"fetches users"| node_auth_controller
node_admin_service -.->|"fetches deliveries"| node_delivery_controller

click node_app "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/App.js"
click node_customer_pages "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/CustomerHome.jsx"
click node_checkout_pages "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Checkout.jsx"
click node_payment_page "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Payment.jsx"
click node_tracking_page "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Tracking.jsx"
click node_admin_page "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/AdminDashboard.jsx"
click node_delivery_page "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/DeliveryDashboard.jsx"
click node_auth_controller "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/controller/AuthController.java"
click node_auth_service "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/AuthService.java"
click node_user_repo "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/repository/UserRepo.java"
click node_auth_jwt "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/JwtService.java"
click node_gateway_filter "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/api-gateway/src/main/java/com/wipro/api_gateway/JwtFilter.java"
click node_order_service "https://github.com/tejachar121/wiprocapstoneproject/tree/main/SmartPizzaBackend/order_service/src/main/java/com/wipro/order_service"
click node_delivery_controller "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/controller/DeliveryController.java"
click node_delivery_service "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/service/DeliveryService.java"
click node_delivery_repo "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryRepo.java"
click node_agent_repo "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryAgentRepo.java"
click node_admin_controller "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/controller/AdminController.java"
click node_admin_service "https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/service/AdminService.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_app,node_customer_pages,node_checkout_pages,node_payment_page,node_tracking_page,node_admin_page,node_delivery_page toneBlue
class node_auth_controller,node_auth_service,node_user_repo,node_auth_jwt,node_gateway_filter toneAmber
class node_order_service toneMint
class node_delivery_controller,node_delivery_service,node_delivery_repo,node_agent_repo toneRose
class node_admin_controller,node_admin_service,node_customer,node_staff toneIndigo
```

## Components

### React client

- [Application routes](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/App.js): `SmartPizzaFrontend/smartpizza/src/App.js`
- [Customer pages](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/CustomerHome.jsx): `SmartPizzaFrontend/smartpizza/src/pages/CustomerHome.jsx`
- [Cart and checkout](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Checkout.jsx): `SmartPizzaFrontend/smartpizza/src/pages/Checkout.jsx`
- [Payment page](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Payment.jsx): `SmartPizzaFrontend/smartpizza/src/pages/Payment.jsx`
- [Delivery tracking](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/Tracking.jsx): `SmartPizzaFrontend/smartpizza/src/pages/Tracking.jsx`
- [Admin dashboard](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/AdminDashboard.jsx): `SmartPizzaFrontend/smartpizza/src/pages/AdminDashboard.jsx`
- [Agent dashboard](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaFrontend/smartpizza/src/pages/DeliveryDashboard.jsx): `SmartPizzaFrontend/smartpizza/src/pages/DeliveryDashboard.jsx`

### Identity and access

- [Authentication API](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/controller/AuthController.java): `SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/controller/AuthController.java`
- [Registration service](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/AuthService.java): `SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/AuthService.java`
- [User repository](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/repository/UserRepo.java): `SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/repository/UserRepo.java`
- [Token service](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/JwtService.java): `SmartPizzaBackend/auth-service/src/main/java/com/wipro/auth_service/service/JwtService.java`
- [JWT gateway filter](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/api-gateway/src/main/java/com/wipro/api_gateway/JwtFilter.java): `SmartPizzaBackend/api-gateway/src/main/java/com/wipro/api_gateway/JwtFilter.java`

### Menu and orders

- [Menu, cart, orders, payments](https://github.com/tejachar121/wiprocapstoneproject/tree/main/SmartPizzaBackend/order_service/src/main/java/com/wipro/order_service): `SmartPizzaBackend/order_service/src/main/java/com/wipro/order_service`

### Delivery operations

- [Delivery API](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/controller/DeliveryController.java): `SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/controller/DeliveryController.java`
- [Delivery workflow](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/service/DeliveryService.java): `SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/service/DeliveryService.java`
- [Delivery records](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryRepo.java): `SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryRepo.java`
- [Agent records](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryAgentRepo.java): `SmartPizzaBackend/delivery-service/src/main/java/com/wipro/delivery_service/repository/DeliveryAgentRepo.java`

### Administration

- [Admin API](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/controller/AdminController.java): `SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/controller/AdminController.java`
- [Admin aggregation and analytics](https://github.com/tejachar121/wiprocapstoneproject/blob/main/SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/service/AdminService.java): `SmartPizzaBackend/admin-service/src/main/java/com/wipro/admin_service/service/AdminService.java`

### Other components

- **Customer**
- **Admin or agent**

## Connections

- Customer → Application routes: uses
- Admin or agent → Application routes: uses
- Application routes → Customer pages: routes
- Application routes → Cart and checkout: routes
- Application routes → Payment page: routes
- Application routes → Delivery tracking: routes
- Application routes → Admin dashboard: routes
- Application routes → Agent dashboard: routes
- Authentication API → Registration service: registers
- Authentication API → User repository: loads user
- Authentication API → Token service: creates token
- Registration service → User repository: checks and saves
- Delivery API → Delivery workflow: dispatches
- Delivery workflow → Delivery records: reads and writes
- Delivery workflow → Agent records: loads agent
- Delivery workflow → Menu, cart, orders, payments: fetches order
- Admin API → Admin aggregation and analytics: dispatches
- Admin aggregation and analytics → Menu, cart, orders, payments: fetches orders
- Admin aggregation and analytics → Authentication API: fetches users
- Admin aggregation and analytics → Delivery API: fetches deliveries
