https://github.com/daniel05155/flask-banking-system
An Online Banking Management System implemented in Python. Features both CLI and web-based interfaces. The CLI version offers full functionality including user registration, transactions, and balance inquiries. The Flask-based web version is under active development. Status: In Development
https://github.com/daniel05155/flask-banking-system
flask mysql online-banking-system python rdbms
Last synced: about 2 months ago
JSON representation
An Online Banking Management System implemented in Python. Features both CLI and web-based interfaces. The CLI version offers full functionality including user registration, transactions, and balance inquiries. The Flask-based web version is under active development. Status: In Development
- Host: GitHub
- URL: https://github.com/daniel05155/flask-banking-system
- Owner: daniel05155
- Created: 2024-09-08T16:33:32.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-10-07T03:55:24.000Z (8 months ago)
- Last Synced: 2024-12-18T19:12:03.518Z (6 months ago)
- Topics: flask, mysql, online-banking-system, python, rdbms
- Language: Python
- Homepage:
- Size: 17.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Banking-Management-System-Using-Flask
## Overview
This is an online banking management system developed in Python. The project aims to simulate basic banking operations, including user registration, login/logout, withdrawals, deposits, and balance inquiries. Currently, the system comprises two main components: a fully functional Command-Line Interface (CLI) version and a Flask-based web version under development.**Note:** This is a work in progress, and some features may not be fully implemented or optimized.
## Current Features
### CLI Version (Fully Implemented)
- [x] User Registration
- [x] User Login/Logout
- [x] Deposit Functionality
- [x] Withdrawal Functionality
- [x] Fund Transfer
- [x] Balance Inquiry
- [x] Developer Mode (for debugging)### Web Version ( **Partially Implemented** )
- [x] User Registration (frontend form)
- [x] User Login/Logout (frontend form)
- [ ] Deposit Functionality (to be implemented)
- [ ] Withdrawal Functionality (to be implemented)
- [ ] Balance Inquiry (to be implemented)## Tech Stack
- Backend: Python 3.x
- Web Framework: Flask
- Data Storage:
- CLI Version: JSON file
- Web Version: MySQL (using Flask-MySQLdb)
- Frontend: HTML, CSS (basic implementation)## File Structure
- `customer_account.json`: Stores user account information (used by CLI version)
- `function.py`: Contains main functionality implementation for CLI version
- `main.py`: Main file for Flask application, contains routes and functionality for web version## Installation
1. Clone this repository:
```
git clone [repository URL]
```
2. Navigate to the project directory:
```
cd Online-Banking-Management-System
```
3. Install required dependencies:
```
pip install -r requirements.txt
```
4. For the web version, set up MySQL database and update database connection details in `main.py`.## Usage
### CLI Version
Run the main program:
```
python function.py
```### Web Version
1. Ensure MySQL service is running.
2. Run the Flask application:
```
python main.py
```
3. Access in browser: `http://localhost:5000`## Roadmap
- [ ] Complete all basic banking functionalities for the web version
- [ ] Improve user interface design
- [ ] Implement robust security measures (e.g., password encryption, two-factor authentication)
- [ ] Add transaction history functionality
- [ ] Integrate error handling and logging
- [ ] Implement unit tests and integration tests## Known Issues
- We currently implements basic registration and login functionality only in the web version.
- It uses JSON file for data storage, which may pose security risks in the CLI version.
- Lack of proper error handling mechanisms.