# krishnauppalapati25-web/azure-aks-kubernetes-masterclass architecture

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

- Interactive diagram: https://gitdiagram.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass
- Repository: https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass

## Overview

This repository contains a Spring Boot user-management application, presented in the README as a sample web app with MySQL storage. Users can manage accounts through REST endpoints or a browser-based interface; authentication loads user records and role data. The main internal layers are controllers, services, repositories, and JPA entities. The source excerpts show controller-to-service and authentication-to-repository interactions, while the README documents MySQL use. Security configuration and several auxiliary controllers are present in the tree but their wiring was not sampled.

Main entry points: [`azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java`](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java) (User lookup auth), [`azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java`](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java) (User repository), [`azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java`](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java) (User web UI), [`azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserService.java`](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserService.java) (User service)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_interfaces["User interfaces"]
  node_rest["User REST API"]
  node_web["User web UI"]
  node_welcome["Welcome pages"]
  node_hello["Hello API"]
  node_logout["Logout handler"]
  node_errors["Error handler"]
  node_helloentity["Hello response model<br/>[UserDetails.java]"]
end

subgraph group_identity["Identity and security"]
  node_security["Security setup"]
  node_security2["Security setup 2"]
  node_websecurity["Web security"]
  node_authservice["User lookup auth"]
  node_authdetails["Auth user details"]
end

subgraph group_domain["User domain and persistence"]
  node_userservice["User service<br/>[UserService.java]"]
  node_serviceimpl["User service implementation"]
  node_repository["User repository"]
  node_userentity["User entity<br/>[User.java]"]
  node_role["Role entity<br/>[Role.java]"]
  node_contact["Contact entity<br/>[ContactUs.java]"]
end

node_user(("User"))
node_database[("MySQL database")]

node_user -->|"calls API"| node_rest
node_user -->|"uses pages"| node_web
node_rest -->|"delegates to"| node_userservice
node_web -->|"calls"| node_userservice
node_web -->|"reads and writes"| node_repository
node_userservice -.->|"implemented by"| node_serviceimpl
node_serviceimpl -->|"uses"| node_repository
node_repository -->|"persists"| node_userentity
node_authservice -->|"looks up user"| node_repository
node_authservice -->|"loads"| node_userentity
node_authservice -->|"constructs"| node_authdetails
node_userentity -->|"has roles"| node_role
node_repository -.->|"stores records"| node_database
node_security -.->|"configures authentication"| node_authservice
node_security2 -.->|"configures authentication"| node_authservice
node_websecurity -.->|"configures authentication"| node_authservice
node_hello -.->|"returns"| node_helloentity

click node_rest "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserController.java"
click node_web "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java"
click node_welcome "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/WelcomeController.java"
click node_hello "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/HelloWorldController.java"
click node_logout "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/LogoutController.java"
click node_errors "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/ErrorController.java"
click node_security "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig.java"
click node_security2 "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig2.java"
click node_websecurity "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfigWeb.java"
click node_authservice "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java"
click node_authdetails "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetails.java"
click node_userservice "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserService.java"
click node_serviceimpl "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserServiceImpl.java"
click node_repository "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java"
click node_userentity "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/User.java"
click node_role "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/Role.java"
click node_contact "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/ContactUs.java"
click node_helloentity "https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/UserDetails.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_rest,node_web,node_welcome,node_hello,node_logout,node_errors,node_helloentity,node_user toneBlue
class node_security,node_security2,node_websecurity,node_authservice,node_authdetails,node_database toneAmber
class node_userservice,node_serviceimpl,node_repository,node_userentity,node_role,node_contact toneMint
```

## Components

### User interfaces

- [User REST API](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserController.java`
- [User web UI](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java`
- [Welcome pages](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/WelcomeController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/WelcomeController.java`
- [Hello API](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/HelloWorldController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/HelloWorldController.java`
- [Logout handler](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/LogoutController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/LogoutController.java`
- [Error handler](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/ErrorController.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/ErrorController.java`
- [Hello response model](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/UserDetails.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/Hello/UserDetails.java`

### Identity and security

- [Security setup](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig.java`
- [Security setup 2](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig2.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfig2.java`
- [Web security](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfigWeb.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/config/SecurityConfigWeb.java`
- [User lookup auth](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java`
- [Auth user details](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetails.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetails.java`

### User domain and persistence

- [User service](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserService.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserService.java`
- [User service implementation](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserServiceImpl.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserServiceImpl.java`
- [User repository](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java`
- [User entity](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/User.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/User.java`
- [Role entity](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/Role.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/Role.java`
- [Contact entity](https://github.com/krishnauppalapati25-web/azure-aks-kubernetes-masterclass/blob/master/azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/ContactUs.java): `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/ContactUs.java`

### Other components

- **User**
- **MySQL database**

## Connections

- User → User REST API: calls API
- User → User web UI: uses pages
- User REST API → User service: delegates to (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserController.java`)
- User web UI → User service: calls (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java`)
- User web UI → User repository: reads and writes (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/controllers/UserWebController.java`)
- User service → User service implementation: implemented by
- User service implementation → User repository: uses (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/UserServiceImpl.java`)
- User repository → User entity: persists (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/repositories/UserRepository.java`)
- User lookup auth → User repository: looks up user (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java`)
- User lookup auth → User entity: loads (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java`)
- User lookup auth → Auth user details: constructs (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/services/CustomUserDetailsService.java`)
- User entity → Role entity: has roles (evidence: `azure-aks-usermgmt-webapp-demo/src/main/java/com/stacksimplify/restservices/entities/User.java`)
- User repository → MySQL database: stores records (evidence: `README.md`)
- Security setup → User lookup auth: configures authentication
- Security setup 2 → User lookup auth: configures authentication
- Web security → User lookup auth: configures authentication
- Hello API → Hello response model: returns
