# keerthan-karthikeya-14/digital-bank-system architecture

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

- Interactive diagram: https://gitdiagram.com/keerthan-karthikeya-14/digital-bank-system
- Repository: https://github.com/keerthan-karthikeya-14/digital-bank-system

## Overview

This is a digital banking application with web and stateless API access. Its principal workflow is customer registration or authentication, account access, then deposits, withdrawals, transfers, and transaction-history review. The README documents controllers, business logic, JPA domain models, Thymeleaf views, security, and MySQL, but no source excerpts were provided; the graph therefore omits uncertain internal call wiring.

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and security"]
  node_api_controllers["REST controllers"]
  node_security_config["Security configuration"]
  node_jwt_security["JWT security"]
end

subgraph group_web["Web experience"]
  node_web_controllers["Web controllers"]
  node_templates["Thymeleaf views"]
  node_static_assets["UI assets"]
end

subgraph group_banking["Banking operations"]
  node_services["Business services"]
  node_user_accounts["Users and accounts"]
  node_transactions["Banking transactions"]
  node_statements_history["Statements and history"]
end

subgraph group_data["Domain and data"]
  node_dto["Request and response DTOs"]
  node_entities["Banking entities"]
  node_mysql[("MySQL database")]
end

node_customer(("Customer"))
node_api_client(("API client"))

node_customer -->|"uses portal"| node_web_controllers
node_web_controllers -->|"renders pages"| node_templates
node_templates -->|"presents interface"| node_customer
node_customer -->|"calls API"| node_api_controllers
node_api_client -->|"calls API"| node_api_controllers
node_api_controllers -->|"authenticates requests"| node_jwt_security
node_web_controllers -->|"uses form login"| node_security_config
node_services -->|"handles accounts"| node_user_accounts
node_services -->|"handles money movement"| node_transactions
node_services -->|"provides records"| node_statements_history
node_services -->|"uses domain models"| node_entities
node_api_controllers -->|"exchanges data"| node_dto

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_api_controllers,node_security_config,node_jwt_security,node_api_client toneBlue
class node_web_controllers,node_templates,node_static_assets toneAmber
class node_services,node_user_accounts,node_transactions,node_statements_history toneMint
class node_dto,node_entities,node_mysql toneRose
class node_customer toneIndigo
```

## Components

### Access and security

- **REST controllers**
- **Security configuration**
- **JWT security**

### Web experience

- **Web controllers**
- **Thymeleaf views**
- **UI assets**

### Banking operations

- **Business services**
- **Users and accounts**
- **Banking transactions**
- **Statements and history**

### Domain and data

- **Request and response DTOs**
- **Banking entities**
- **MySQL database**

### Other components

- **Customer**
- **API client**

## Connections

- Customer → Web controllers: uses portal
- Web controllers → Thymeleaf views: renders pages
- Thymeleaf views → Customer: presents interface
- Customer → REST controllers: calls API
- API client → REST controllers: calls API
- REST controllers → JWT security: authenticates requests
- Web controllers → Security configuration: uses form login
- Business services → Users and accounts: handles accounts
- Business services → Banking transactions: handles money movement
- Business services → Statements and history: provides records
- Business services → Banking entities: uses domain models
- REST controllers → Request and response DTOs: exchanges data
