{"id":29091211,"url":"https://github.com/7mee3d/simi-simple-bank-system","last_synced_at":"2025-06-28T06:05:54.942Z","repository":{"id":292736764,"uuid":"981772225","full_name":"7mee3d/Simi-Simple-Bank-System","owner":"7mee3d","description":"📌 A simple bank system programmed in C++ to manage customer data in an organized manner through a text interface that contains a list of main options that allow dealing with customers (view - add - modify - delete - search).","archived":false,"fork":false,"pushed_at":"2025-05-12T22:04:04.000Z","size":11324,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-15T17:25:07.468Z","etag":null,"topics":["cplusplus","programming"],"latest_commit_sha":null,"homepage":"","language":"C++","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/7mee3d.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}},"created_at":"2025-05-11T21:04:17.000Z","updated_at":"2025-06-15T16:21:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"fbfeaa10-47aa-40e1-834e-b27cb42a1f47","html_url":"https://github.com/7mee3d/Simi-Simple-Bank-System","commit_stats":null,"previous_names":["7mee3d/bank-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/7mee3d/Simi-Simple-Bank-System","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7mee3d%2FSimi-Simple-Bank-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7mee3d%2FSimi-Simple-Bank-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7mee3d%2FSimi-Simple-Bank-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7mee3d%2FSimi-Simple-Bank-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/7mee3d","download_url":"https://codeload.github.com/7mee3d/Simi-Simple-Bank-System/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/7mee3d%2FSimi-Simple-Bank-System/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262382732,"owners_count":23302296,"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","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":["cplusplus","programming"],"created_at":"2025-06-28T06:05:53.821Z","updated_at":"2025-06-28T06:05:54.929Z","avatar_url":"https://github.com/7mee3d.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🏦 Bank Management System in C++\n\nWelcome to the **Bank Management System** – a console-based application developed using **modern C++** that simulates real-world banking operations such as managing client accounts, processing deposits and withdrawals, and storing data persistently using file I/O.\n\nThis project is designed with clean code practices, modular functions, and an easy-to-navigate menu system, making it suitable for beginner to intermediate programmers who want to understand file handling, structs, and formatted console interfaces in C++.\n\n---\n\n## 🧠 Motivation\n\nBanking is one of the most common domains for applying programming skills. The goal of this project is to:\n\n- Practice working with **structures**, **file I/O**, and **modular code** in C++\n- Simulate a real-world problem with persistent data storage\n- Provide a fully functional CLI (Command Line Interface) banking application\n- Learn how to handle input/output, validations, and formatted text display\n\n---\n\n## 🚀 Features and Functionalities\n\n| #   | Feature                        | Description                                                                 |\n|-----|--------------------------------|-----------------------------------------------------------------------------|\n| 1️⃣ | Add New Client                 | Allows adding new customer records including name, account number, and balance |\n| 2️⃣ | Display All Clients           | Displays client data in a neatly formatted table                           |\n| 3️⃣ | Update Client Info             | Modify any detail of an existing client                                    |\n| 4️⃣ | Delete Client                  | Remove a client based on account number                                    |\n| 5️⃣ | Find a Client                  | Search by account number and display detailed info                         |\n| 6️⃣ | Deposit Money                  | Add funds to a selected account                                            |\n| 7️⃣ | Withdraw Money                 | Withdraw from a client account with validation                             |\n| 8️⃣ | Show Total Balance             | Displays the sum of all client balances                                    |\n| 9️⃣ | Exit Program                   | Gracefully terminates the application                                      |\n\n---\n\n## 📂 Data Management\n\nAll data is stored in a plain-text file called:\n\n\n## Information Client \n\n\nThis ensures that:\n- 🧠 Data is **persistent** across sessions\n- 🔁 Every operation (add/update/delete) is reflected in the file\n- 🔒 Sensitive operations are handled with care to avoid data corruption\n\n---\n\n## 📊 Table Format Display\n\nClient data is displayed in a tabular format using `iomanip` for clean alignment:\n\n\n\n\n\n---\n\n\n## 🛠 Technologies Used\n\n- **Language**: C++\n- **File Handling**: `fstream`, `ifstream`, `ofstream`\n- **Console Utilities**: `iostream`, `iomanip`, `string`\n- **Modular Design**: All operations are built as separate functions for reusability and clarity\n\n---\n\n\n# 📌 Benefits of This Project\n📖 Educational: Great for students learning file I/O and basic data structures\n\n🧱 Modular Code: Functions are reusable and well-separated\n\n🎯 Real-World Simulation: Mimics the flow of actual banking systems\n\n💾 Offline Persistence: No need for databases – data is saved directly to text files\n\n🔁 User-Friendly Navigation: Easy to interact via numbered menus\n\n⛔ Input Validation: Handles invalid or incomplete data gracefully\n\n--- \n\n# 🧪 Sample Workflow\n\n**1- User runs the program** \n\n**2- Main menu is shown** \n\n**3- User selects “Add Client”**\n\n**4- System requests details and saves them to the file**\n\n**5- User chooses “Show All Clients”**\n\n**6- Data is retrieved from the file and shown as a table**\n\n---\n\n# 🔄 Future Enhancements\n\n**🔐 Add login \u0026 admin roles**\n\n**📈 Track transaction history**\n\n**📦 Switch to database (SQLite, MySQL)**\n\n**🖥 GUI with Qt or Web-based frontend**\n\n**📊 Export reports to CSV or PDF**\n\n---\n\n# 🧑‍💻 How to Run\n\n### 1- Clone or download this repository: \n\n``` cpp\n\ngit clone https://github.com/your-username/BankingSystem.git\ncd BankingSystem\n\n```\n\n### 2- Compile the code:\n\n```\ng++ main.cpp -o bank\n```\n\n### 3- Run the program:\n\n```\n./bank\n```\n\n--- \n\n\n# 👨💻 Author\n\n**Ahmed Jehad Ahmed**  \n\n\n🔗 [GitHub Profile](https://github.com/7mee3d)\n\n📧 [Email Contact](mailto:enginnerahemdjehad2004@gmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7mee3d%2Fsimi-simple-bank-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F7mee3d%2Fsimi-simple-bank-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F7mee3d%2Fsimi-simple-bank-system/lists"}