A simple console-based banking system built with Python and SQLite, designed to showcase secure data handling, database integration, and clean code structure.
This project was originally built for a college course and later refactored to use SQL for persistent storage, along with CSV audit logging and preloaded test accounts for quick testing.
- π Secure 4-digit PIN hashing (SHA-256) β no plaintext PINs stored
- π§Ύ Checking and Savings accounts with deposits, withdrawals, and balance updates
- π§ Basic statistics β view average balances and users above the average
- π CSV transaction audit logging for transparent tracking
- π€ Interactive account creation and deletion via the console menu
- π§ͺ Three preloaded test accounts for instant use:
alice/ PIN:1111bob/ PIN:2222carla/ PIN:3333
- Language: Python 3
- Database: SQLite (
bank.dbcreated automatically) - Audit Logging: CSV (
transactions.csvauto-generated) - No external libraries β runs out of the box using only the Python standard library
git clone https://github.com/alenchavez-dev/python-sql-banking-app.git
cd python-sql-banking-app
python3 main.py