{"id":31177840,"url":"https://github.com/sehraqureshi/bank_management_system_-python-sql-","last_synced_at":"2026-05-19T14:33:56.846Z","repository":{"id":313956360,"uuid":"1053581274","full_name":"SehrAQureshi/Bank_management_system_-python-sql-","owner":"SehrAQureshi","description":"Bank Management System built with Python and MySQL | Account creation, transactions, balance enquiry, and customer management","archived":false,"fork":false,"pushed_at":"2025-09-09T16:53:37.000Z","size":437,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-09T20:05:56.289Z","etag":null,"topics":["command-line-tool","database-project","mysql","mysql-database","python","sql-connector","sql-integration"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SehrAQureshi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-09T16:36:13.000Z","updated_at":"2025-09-09T16:57:06.000Z","dependencies_parsed_at":"2025-09-09T20:06:05.830Z","dependency_job_id":"91c4d086-6436-471e-b329-a96629147ed2","html_url":"https://github.com/SehrAQureshi/Bank_management_system_-python-sql-","commit_stats":null,"previous_names":["sehraqureshi/bank_management_system_-python-sql-"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/SehrAQureshi/Bank_management_system_-python-sql-","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SehrAQureshi%2FBank_management_system_-python-sql-","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SehrAQureshi%2FBank_management_system_-python-sql-/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SehrAQureshi%2FBank_management_system_-python-sql-/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SehrAQureshi%2FBank_management_system_-python-sql-/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SehrAQureshi","download_url":"https://codeload.github.com/SehrAQureshi/Bank_management_system_-python-sql-/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SehrAQureshi%2FBank_management_system_-python-sql-/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275952279,"owners_count":25558672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["command-line-tool","database-project","mysql","mysql-database","python","sql-connector","sql-integration"],"created_at":"2025-09-19T14:30:39.671Z","updated_at":"2025-09-19T14:30:44.816Z","avatar_url":"https://github.com/SehrAQureshi.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏦 Bank Management System (Python + MySQL)\n\n## 📖 Project Overview\nThis project is a **Bank Management System** built with **Python (for logic)** and **MySQL (for data storage)**.  \nIt simulates real-world banking operations, enabling users to perform **account management and transaction handling** through a command-line interface.  \n\nThe system is designed with **data integrity, usability, and persistence** in mind, making it a great foundation for understanding **database-driven applications**.\n\n---\n\n## ✨ Key Features\n- **Account Creation** → Auto-generates unique 8-digit account numbers.  \n- **Transaction Handling** → Deposit and withdraw funds securely with balance validation.  \n- **Balance Enquiry** → Retrieve real-time balance for any account.  \n- **Customer Information** → Display account holder details with one query.  \n- **Account Closure** → Securely delete accounts with confirmation.  \n- **Database Integration** → Persistent data storage in MySQL.  \n\n---\n\n## 🗂️ Database Design\nThe project uses a **normalized database schema** to ensure clarity and data consistency:\n\n1. **`account_table`** – Stores personal and static account details.  \n2. **`amount_table`** – Stores financial data and is updated after each transaction.  \n\nThis separation ensures **data modularity**, making it easier to track customer details and balances independently.\n\n---\n\n## ⚙️ Tech Stack\n- **Programming Language:** Python 3.x  \n- **Database:** MySQL  \n- **Connector:** `mysql-connector-python`  \n\nInstall requirements:\n```bash\npip install mysql-connector-python\n```\n---\n\n## 📸 Preview\n![Demo](Database_SQL_output/sq2.png) \n---\n\n## ▶️ How to Run\n1. Import the SQL schema into MySQL:\n   ```sql\n   SOURCE bank_management.sql;\n   ```\n\n2. Update credentials inside the Python script:\n   ```python\n   conn = mysql.connector.connect(\n       host=\"localhost\",\n       user=\"root\",\n       password=\"YOUR_PASSWORD\",\n       database=\"BANK_MANAGEMENT\"\n   )\n   ```\n\n3. Run the program:\n   ```bash\n   python bank_management.py\n   ```\n\n---\n\n## 🔎 Findings \u0026 Insights\n- **Data Validation** – Implemented error handling for invalid accounts and insufficient balances.  \n- **Scalability** – Separated tables for accounts and balances, making the system extensible for features like transaction history.  \n- **Efficiency** – Used direct SQL queries for CRUD operations, ensuring fast execution.  \n- **Reliability** – Added confirmation before critical actions (like account closure).  \n\n---\n\n## 🚀 Challenges \u0026 Solutions\n- **Challenge:** Handling duplicate account numbers.  \n  **Solution:** Used `MAX(AccNo) + 1` logic to always generate unique IDs.  \n\n- **Challenge:** Ensuring consistent balance updates across deposits/withdrawals.  \n  **Solution:** Transactions are committed only after successful SQL execution.  \n\n- **Challenge:** Preventing accidental data loss.  \n  **Solution:** Account closure requires explicit user confirmation.  \n\n---\n\n## 📈 Outcomes \u0026 Impact\n- Simplified banking operations in a **digital format**.  \n- Provided a **learning foundation** for database-driven applications.  \n- Enhanced understanding of **Python-MySQL integration**.  \n- Built a base that can be extended into **web apps or GUIs**.  \n\n---\n\n## 🌟 Future Improvements\n- Add **user authentication \u0026 roles (Admin/Customer)**.  \n- Maintain **transaction history logs** for transparency.  \n- Build a **GUI (Tkinter/Flask/Django)** for better usability.  \n- Deploy on **cloud with remote database access**.  \n\n---\n\n## ⭐ Support\nIf you find this project useful, please consider giving it a **star ⭐** on GitHub — it motivates me to improve and share more projects!  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsehraqureshi%2Fbank_management_system_-python-sql-","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsehraqureshi%2Fbank_management_system_-python-sql-","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsehraqureshi%2Fbank_management_system_-python-sql-/lists"}