Skip to content

A Practical Python Capstone Project whereby a Bank Account Management system is being developed for a bank

Notifications You must be signed in to change notification settings

mumbabe1-tech/Python-Finance-Simulation---capstone

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Python Banking System — Operational Data Simulation (Jupyter Notebook in VS Code)

This project implements a simple Python-based banking system designed to simulate how financial institutions capture, validate, and manage operational data. The entire application was developed and executed inside a Jupyter Notebook (.ipynb) using VS Code’s Jupyter extension, making it beginner-friendly while still demonstrating structured data handling and core programming logic.

Project Overview
This simulated banking environment supports essential account operations:

  • Create new customer accounts
  • Deposit funds
  • Withdraw funds
  • Check account balances
  • View transaction history

All data is stored in memory using Python dictionaries and lists. This mirrors how raw operational data is generated before being stored in databases or used for analytics in real financial systems.

Data‑Engineering‑Aligned Structure
Although this project does not use SQL or external storage, it still demonstrates foundational data-engineering concepts:

Structured Data Representation The system uses:

  • Dictionaries to store customer and account information
  • Lists to maintain transaction logs

This reflects how operational data is structured before entering a database or pipeline.

Data Capture & Event Logging
Each user action generates a structured event containing:

  • Timestamp
  • Transaction type
  • Amount
  • Updated balance

This simulates the raw data layer of a financial system.

Data Validation & Business Rules The application enforces essential rules such as:

  • Preventing overdrafts
  • Ensuring valid account numbers
  • Maintaining accurate balances
  • Logging every transaction consistently

These are core principles in financial data quality and governance.

Traceability & Auditability The transaction history acts as an audit trail, similar to what financial institutions use for compliance and internal reporting.

How to Run the Project (Jupyter Notebook in VS Code) This project runs entirely inside a Jupyter Notebook using the VS Code Jupyter extension.

  1. Install VS Code Extensions Ensure the following extensions are installed:
  • Python
  • Jupyter
  1. Open the Notebook Open the .ipynb file directly in VS Code.

  2. Select a Python Kernel VS Code will prompt you to choose a Python interpreter.
    Any Python 3.x environment works.

  3. Run the Notebook Cells Execute each cell in order:

  • Early cells define the data structures and functions
  • Later cells run the menu-driven banking system
  • Follow the prompts to create accounts, deposit, withdraw, and view transaction history
  1. No Additional Setup Required All data is stored in memory during runtime.
    No database, external files, or command-line execution is needed.

Tech Stack

  • Python
  • Jupyter Notebook (.ipynb)
  • VS Code with Jupyter extension
  • Dictionaries & lists for in-memory storage
  • Functions, loops, and conditional logic
    Purpose
    This project demonstrates how operational data is:
  • Captured
  • Structured
  • Validated
  • Logged

About

A Practical Python Capstone Project whereby a Bank Account Management system is being developed for a bank

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published