Python program, named "PyBank," is designed to offer users a simple yet effective platform for managing personal banking transactions. With a focus on ease of use and security, the program enables users to perform fundamental tasks such as registration, login, deposit, and withdrawal. Let's dive into how this program works and what it offers:
- Functionality: The program is divided into several modules that facilitate different functionalities:
- Registration and Login: Users can register by providing their details, including their first name, last name, Gmail address, and a unique passcode. This passcode is sent to the user's Gmail account for verification. After registration, users can log in using their account number and password.
- Deposit and Withdrawal: Upon successful login, users can perform deposit and withdrawal transactions. Deposits and withdrawals are handled by updating the account balance stored in an SQL database.
- User Interaction:
- The program interacts with users through a command-line interface, making it easy to use.
- Users can input their choices to navigate through various options, including logging in, depositing, withdrawing, and checking their account details.
- Gmail Integration:
- The program uses Gmail to verify user registrations and send notifications for deposit and withdrawal transactions.
- Users receive an email with a passcode during registration, ensuring the validity of their Gmail address.
- For deposit and withdrawal transactions, users receive automated email notifications confirming the details of the transaction.
- Database Management:
- The program stores user data, including account numbers, names, Gmail addresses, passwords, and account balances, in an SQL database.
- This database serves as a secure and structured repository for managing user accounts and their related information.
- Utility Functions:
- The program incorporates utility functions such as data display using the "PrettyTable" library and sending emails using the "smtplib" library.
- It also includes functions for account checking, depositing, withdrawing, and managing staff actions.
- Security Considerations:
- The program takes security seriously by using unique passcodes for Gmail verification and password-protected logins.
- It employs a combination of user account numbers and passwords to ensure the security of user information and transactions.
- Usage:
- Users can interact with the program by choosing options such as registration, login, deposit, withdrawal, and more.
- The program provides real-time transaction notifications via email for deposit and withdrawal activities.
Please note that this program currently offers basic functionality and is labeled as a personal project. While it showcases important concepts such as user registration, account management, and email integration, it's essential to consider potential security enhancements and further feature development based on the specific needs of a larger application.
https://github.com/Priyamjain1105/PyBank.git