# ashuuu14/bank-management-system- architecture

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

- Interactive diagram: https://gitdiagram.com/ashuuu14/bank-management-system-
- Repository: https://github.com/ashuuu14/bank-management-system-

## Overview

This is a Java Swing ATM/bank management application. Users sign in with a card number and PIN, then choose account operations; new customers can complete a three-page application to create login credentials. Transaction screens read or write MySQL records through a shared JDBC connection helper. The graph captures the documented-by-source workflow and major ATM capabilities; unexcerpted files are included where the source index identifies them, but their finer behavior and links are not assumed.

Main entry points: [`src/bank/management/system/Connn.java`](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Connn.java) (JDBC connection), [`src/bank/management/system/main_Class.java`](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/main_Class.java) (Transaction menu), [`src/bank/management/system/Login.java`](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Login.java) (Card sign-in), [`src/bank/management/system/Signup.java`](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup.java) (Personal details)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Customer access"]
  node_login["Card sign-in<br/>[Login.java]"]
  node_menu["Transaction menu<br/>[main_Class.java]"]
end

subgraph group_onboarding["Account onboarding"]
  node_signup1["Personal details<br/>[Signup.java]"]
  node_signup2["Additional details<br/>[Signup2.java]"]
  node_signup3["Account setup<br/>[Signup3.java]"]
end

subgraph group_transactions["ATM operations"]
  node_deposit["Deposit<br/>[Deposit.java]"]
  node_withdraw["Cash withdrawal<br/>[Withdrawl.java]"]
  node_fastcash["Fast cash<br/>[FastCash.java]"]
  node_balance["Balance enquiry"]
  node_statement["Mini statement<br/>[mini.java]"]
  node_pinchange["PIN change<br/>[Pin.java]"]
end

subgraph group_persistence["Database access"]
  node_jdbc["JDBC connection<br/>[Connn.java]"]
  node_bankdb[("Bank database")]
end

node_customer(("Bank customer"))

node_customer -->|"enters credentials"| node_login
node_customer -->|"starts enrollment"| node_signup1
node_login -->|"checks credentials"| node_jdbc
node_login -->|"opens on success"| node_menu
node_menu -->|"opens"| node_deposit
node_menu -->|"opens"| node_withdraw
node_menu -->|"opens"| node_fastcash
node_menu -->|"opens"| node_balance
node_menu -->|"opens"| node_statement
node_menu -->|"opens"| node_pinchange
node_signup1 -->|"stores details"| node_jdbc
node_signup1 -->|"opens next"| node_signup2
node_signup2 -->|"stores details"| node_jdbc
node_signup2 -->|"opens next"| node_signup3
node_signup3 -->|"creates account login"| node_jdbc
node_deposit -->|"records deposit"| node_jdbc
node_withdraw -->|"checks and records"| node_jdbc
node_fastcash -->|"checks and records"| node_jdbc
node_balance -->|"reads transactions"| node_jdbc
node_statement -->|"reads account history"| node_jdbc
node_pinchange -->|"updates PIN records"| node_jdbc
node_jdbc -->|"executes SQL"| node_bankdb

click node_login "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Login.java"
click node_menu "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/main_Class.java"
click node_signup1 "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup.java"
click node_signup2 "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup2.java"
click node_signup3 "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup3.java"
click node_deposit "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Deposit.java"
click node_withdraw "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Withdrawl.java"
click node_fastcash "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/FastCash.java"
click node_balance "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/BalanceEnquriy.java"
click node_statement "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/mini.java"
click node_pinchange "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Pin.java"
click node_jdbc "https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Connn.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_login,node_menu toneBlue
class node_signup1,node_signup2,node_signup3 toneAmber
class node_deposit,node_withdraw,node_fastcash,node_balance,node_statement,node_pinchange toneMint
class node_jdbc,node_bankdb toneRose
class node_customer toneIndigo
```

## Components

### Customer access

- [Card sign-in](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Login.java): `src/bank/management/system/Login.java`
- [Transaction menu](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/main_Class.java): `src/bank/management/system/main_Class.java`

### Account onboarding

- [Personal details](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup.java): `src/bank/management/system/Signup.java`
- [Additional details](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup2.java): `src/bank/management/system/Signup2.java`
- [Account setup](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Signup3.java): `src/bank/management/system/Signup3.java`

### ATM operations

- [Deposit](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Deposit.java): `src/bank/management/system/Deposit.java`
- [Cash withdrawal](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Withdrawl.java): `src/bank/management/system/Withdrawl.java`
- [Fast cash](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/FastCash.java): `src/bank/management/system/FastCash.java`
- [Balance enquiry](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/BalanceEnquriy.java): `src/bank/management/system/BalanceEnquriy.java`
- [Mini statement](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/mini.java): `src/bank/management/system/mini.java`
- [PIN change](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Pin.java): `src/bank/management/system/Pin.java`

### Database access

- [JDBC connection](https://github.com/ashuuu14/bank-management-system-/blob/master/src/bank/management/system/Connn.java): `src/bank/management/system/Connn.java`
- **Bank database**

### Other components

- **Bank customer**

## Connections

- Bank customer → Card sign-in: enters credentials (evidence: `src/bank/management/system/Login.java`)
- Bank customer → Personal details: starts enrollment
- Card sign-in → JDBC connection: checks credentials (evidence: `src/bank/management/system/Login.java`)
- Card sign-in → Transaction menu: opens on success (evidence: `src/bank/management/system/Login.java`)
- Transaction menu → Deposit: opens (evidence: `src/bank/management/system/main_Class.java`)
- Transaction menu → Cash withdrawal: opens (evidence: `src/bank/management/system/main_Class.java`)
- Transaction menu → Fast cash: opens (evidence: `src/bank/management/system/main_Class.java`)
- Transaction menu → Balance enquiry: opens (evidence: `src/bank/management/system/main_Class.java`)
- Transaction menu → Mini statement: opens (evidence: `src/bank/management/system/main_Class.java`)
- Transaction menu → PIN change: opens (evidence: `src/bank/management/system/main_Class.java`)
- Personal details → JDBC connection: stores details (evidence: `src/bank/management/system/Signup.java`)
- Personal details → Additional details: opens next (evidence: `src/bank/management/system/Signup.java`)
- Additional details → JDBC connection: stores details (evidence: `src/bank/management/system/Signup2.java`)
- Additional details → Account setup: opens next (evidence: `src/bank/management/system/Signup2.java`)
- Account setup → JDBC connection: creates account login (evidence: `src/bank/management/system/Signup3.java`)
- Deposit → JDBC connection: records deposit (evidence: `src/bank/management/system/Deposit.java`)
- Cash withdrawal → JDBC connection: checks and records (evidence: `src/bank/management/system/Withdrawl.java`)
- Fast cash → JDBC connection: checks and records (evidence: `src/bank/management/system/FastCash.java`)
- Balance enquiry → JDBC connection: reads transactions (evidence: `src/bank/management/system/BalanceEnquriy.java`)
- Mini statement → JDBC connection: reads account history (evidence: `src/bank/management/system/mini.java`)
- PIN change → JDBC connection: updates PIN records (evidence: `src/bank/management/system/Pin.java`)
- JDBC connection → Bank database: executes SQL (evidence: `src/bank/management/system/Connn.java`)
