Skip to content

A simple console-based banking application built with Python. Features secure PIN hashing, checking/savings transactions, CSV logging, and basic account statistics.

License

Notifications You must be signed in to change notification settings

alenchavez-dev/python-sql-banking-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

29 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🏦 Python SQL Banking App

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.


πŸš€ Features

  • πŸ” 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: 1111
    • bob / PIN: 2222
    • carla / PIN: 3333

🧰 Tech Stack

  • Language: Python 3
  • Database: SQLite (bank.db created automatically)
  • Audit Logging: CSV (transactions.csv auto-generated)
  • No external libraries β€” runs out of the box using only the Python standard library

πŸ§ͺ How to Run

git clone https://github.com/alenchavez-dev/python-sql-banking-app.git
cd python-sql-banking-app
python3 main.py

About

A simple console-based banking application built with Python. Features secure PIN hashing, checking/savings transactions, CSV logging, and basic account statistics.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages