Skip to main content

A professional terminal-based banking management system

Project description

๐Ÿฆ Omar Gad Bank - Professional CLI Banking System

Python Version License: MIT Rich

A professional, terminal-based banking management system built with Python. This tool provides a clean, modern CLI interface for managing bank accounts, processing transactions, and viewing history with beautiful ANSI styling and animations.

โœจ Features

  • ๐Ÿ‘ค Account Management: Create and remove bank accounts with unique IDs.
  • ๐Ÿ’ฐ Financial Transactions: Securely deposit and withdraw funds.
  • ๐Ÿ“Š Information Tracking: View detailed account info and real-time balances.
  • ๐Ÿ“œ Transaction History: Track every deposit and withdrawal with a clean history log.
  • ๐ŸŽจ Modern UI: Powered by Rich for beautiful tables, panels, and loading animations.
  • ๐Ÿš€ Installable CLI: Global access from your terminal using the omar-bank command.

๐Ÿ“ธ Screenshots

(Place screenshots here after running the app)

  • Main Menu: A clean list of options in a styled panel.
  • Account Creation: Interactive prompts with validation.
  • Transaction History: Color-coded history table.

๐Ÿš€ Installation

Prerequisites

  • Python 3.7 or higher
  • pip (Python package installer)

Quick Install (from PyPI)

pip install omar-gad-bank

From Source

  1. Clone the repository:
    git clone https://github.com/omargad/bank-management-system.git
    cd bank-management-system
    
  2. Install the package locally:
    pip install .
    

๐Ÿ› ๏ธ Usage

Once installed, you can launch the application from any terminal window:

omar-bank

Example Workflow

  1. Launch: Run omar-bank.
  2. Create: Select option 1 to create your first account.
  3. Save ID: Note down the generated Account ID (e.g., 1001).
  4. Deposit: Select option 2, enter your ID, and deposit some funds.
  5. Check: Select option 4 to see your updated balance.

๐Ÿ“‚ Project Structure

omar-gad-bank/
โ”œโ”€โ”€ omar_bank/              # Root package
โ”‚   โ”œโ”€โ”€ logic/              # Core banking logic
โ”‚   โ”‚   โ””โ”€โ”€ bank.py         # Bank & Customer classes
โ”‚   โ”œโ”€โ”€ ui/                 # Terminal UI implementation
โ”‚   โ”‚   โ””โ”€โ”€ interface.py    # Rich-based UI logic
โ”‚   โ””โ”€โ”€ cli.py              # CLI Entry point
โ”œโ”€โ”€ pyproject.toml          # Build system configuration
โ”œโ”€โ”€ setup.py                # Package setup script
โ”œโ”€โ”€ MANIFEST.in             # Non-code files to include
โ”œโ”€โ”€ LICENSE                 # MIT License
โ”œโ”€โ”€ README.md               # Documentation
โ””โ”€โ”€ requirements.txt        # Project dependencies

๐Ÿ’ป Developer Setup

Windows

# Create virtual environment
python -m venv .venv
# Activate
.venv\Scripts\activate
# Install in editable mode
pip install -e .

Linux / macOS

# Create virtual environment
python3 -m venv .venv
# Activate
source .venv/bin/activate
# Install in editable mode
pip install -e .

Building the Package

To build the distribution files (sdist and wheel):

pip install build
python -m build

Uploading to PyPI

pip install twine
python -m twine upload dist/*

๐Ÿ—๏ธ Technologies Used

  • Python: Core programming language.
  • Rich: For professional terminal UI rendering.
  • Setuptools: For packaging and distribution.

๐Ÿ”ฎ Future Improvements

  • Persistent storage using SQLite or JSON files.
  • Transfer money between accounts.
  • Support for multiple currencies.
  • Password protection for accounts.

๐Ÿค Contribution

Contributions are welcome! Please feel free to submit a Pull Request.

๐Ÿ“œ License

This project is licensed under the MIT License - see the LICENSE file for details.


Developed with โค๏ธ by Omar Gad

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

omar_gad_bank-1.0.1.tar.gz (10.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

omar_gad_bank-1.0.1-py3-none-any.whl (9.0 kB view details)

Uploaded Python 3

File details

Details for the file omar_gad_bank-1.0.1.tar.gz.

File metadata

  • Download URL: omar_gad_bank-1.0.1.tar.gz
  • Upload date:
  • Size: 10.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for omar_gad_bank-1.0.1.tar.gz
Algorithm Hash digest
SHA256 edaf098948c99ff3ee2c7b683ac1edb7ffe4117330ced726a55d2853d44181fe
MD5 fee5c4a1db4b258a9a977336fc6a6903
BLAKE2b-256 272bdb97337138ddc612edc1881b9472192f391ed164a9b73068f511266b08d4

See more details on using hashes here.

File details

Details for the file omar_gad_bank-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: omar_gad_bank-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 9.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.13

File hashes

Hashes for omar_gad_bank-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 339f56a78b176cb93796248690dc34510c5b5c05cca71cba2f888fcb241c07b5
MD5 39e6b07016af9219f2d4fd8f2530ea13
BLAKE2b-256 e2c46c29ce12c03a5aafd833ff304dec71258c6bdc628bf795b5be134e904160

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page