# lokieey/bank-management architecture

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

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

## Overview

This is a small object-oriented banking demo. Its active workflow creates a customer and current account, deposits and withdraws funds, then displays the balance and transaction history. The account base class holds balance and transaction state; current and savings accounts provide distinct account behaviors. The README is only a brief project description, so the workflow is based on the sampled source; savings-account behavior is present but not exercised by the active entry point.

Main entry points: [`main.py`](https://github.com/lokieey/bank-management/blob/main/main.py) (Demo entry point), [`current_account.py`](https://github.com/lokieey/bank-management/blob/main/current_account.py) (Current account), [`accounts.py`](https://github.com/lokieey/bank-management/blob/main/accounts.py) (Base account), [`savings_account.py`](https://github.com/lokieey/bank-management/blob/main/savings_account.py) (Savings account)

## Diagram (Mermaid)

```mermaid
flowchart TD

node_main["Demo entry point<br/>[main.py]"]
node_customer["Customer<br/>[customer.py]"]
node_account["Base account<br/>[accounts.py]"]
node_current["Current account<br/>[current_account.py]"]
node_savings["Savings account<br/>[savings_account.py]"]

node_main -->|"creates"| node_customer
node_main -->|"creates"| node_current
node_main -->|"operates"| node_current
node_current -->|"inherits; calls helpers"| node_account
node_savings -->|"inherits"| node_account

click node_main "https://github.com/lokieey/bank-management/blob/main/main.py"
click node_customer "https://github.com/lokieey/bank-management/blob/main/customer.py"
click node_account "https://github.com/lokieey/bank-management/blob/main/accounts.py"
click node_current "https://github.com/lokieey/bank-management/blob/main/current_account.py"
click node_savings "https://github.com/lokieey/bank-management/blob/main/savings_account.py"

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_main,node_customer,node_account,node_current,node_savings toneTeal
```

## Components

### Other components

- [Demo entry point](https://github.com/lokieey/bank-management/blob/main/main.py): `main.py`
- [Customer](https://github.com/lokieey/bank-management/blob/main/customer.py): `customer.py`
- [Base account](https://github.com/lokieey/bank-management/blob/main/accounts.py): `accounts.py`
- [Current account](https://github.com/lokieey/bank-management/blob/main/current_account.py): `current_account.py`
- [Savings account](https://github.com/lokieey/bank-management/blob/main/savings_account.py): `savings_account.py`

## Connections

- Demo entry point → Customer: creates
- Demo entry point → Current account: creates
- Demo entry point → Current account: operates
- Current account → Base account: inherits; calls helpers
- Savings account → Base account: inherits
