https://github.com/hamada-khairi/hamada-asc-python-flask
A secure Flask-based banking application featuring comprehensive account management, transaction processing, and administrative controls.
https://github.com/hamada-khairi/hamada-asc-python-flask
account-monitoring admin-dashboard api apu banking crud-application docker docker-compose dockerfile flask-api flask-application flask-banking logging python user-authentication user-management-system web-banking
Last synced: about 2 months ago
JSON representation
A secure Flask-based banking application featuring comprehensive account management, transaction processing, and administrative controls.
- Host: GitHub
- URL: https://github.com/hamada-khairi/hamada-asc-python-flask
- Owner: Hamada-khairi
- License: mit
- Created: 2024-08-06T02:29:32.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-06T02:51:03.000Z (about 1 year ago)
- Last Synced: 2025-03-16T00:14:10.562Z (7 months ago)
- Topics: account-monitoring, admin-dashboard, api, apu, banking, crud-application, docker, docker-compose, dockerfile, flask-api, flask-application, flask-banking, logging, python, user-authentication, user-management-system, web-banking
- Language: HTML
- Homepage: https://hamadakh.com
- Size: 5.2 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
Awesome Lists containing this project
README
# ๐ฆ Hamada Bank System
## ๐ Table of Contents
- [Overview](#overview)
- [Features](#features)
- [Security Measures](#security-measures)
- [Screenshots](#screenshots)
- [Installation](#installation)
- [Using Docker](#using-docker)
- [Using Virtual Environment](#using-virtual-environment)
- [Usage](#usage)
- [API Endpoints](#api-endpoints)
- [Contributing](#contributing)
- [License](#license)---
## ๐ Overview
Hamada Bank System is a robust and secure banking application built with Flask. It provides a comprehensive set of features for both users and administrators, ensuring secure transactions and efficient account management.
https://github.com/user-attachments/assets/6a12117d-d5c6-4e40-8cea-22822fb40ea0
---
## ๐ Features- ๐ค User Authentication and Authorization
- ๐ฐ Account Management (Savings, Current, Islamic)
- ๐ธ Deposit and Withdrawal Transactions
- ๐ณ Loan Application and Management
- ๐ Transaction History and Account Statement
- ๐ Admin Dashboard for User Management
- ๐ฑ Responsive Web Design for Mobile and Desktop---
## ๐ Security Measures
- ๐ Password Hashing using Werkzeug Security
- ๐ซ Rate Limiting to Prevent Brute Force Attacks
- ๐ JWT (JSON Web Tokens) for Secure Authentication
- ๐ก๏ธ CSRF Protection
- ๐งน Input Sanitization to Prevent XSS Attacks
- ๐ Detailed Logging for Audit Trails
- ๐ Account Lockout After Multiple Failed Login Attempts
- ๐ Secure Session Management
- ๐ Transaction Integrity Checks---
## ๐ธ Screenshots
### HOME PAGE
### LOGIN PAGE
### ADMIN DASHBOARD

### USER PROFILE PAGE
### REGISTER PAGE
### USER DASHBOARD
### DEPOSIT PAGE
### WITHDRAW PAGE
### LOAN PAGE
### TRANSACTION
### ADMIN CREATE A USER ACCOUNT

### 404 PAGE
### 500 PAGE
### RATE LIMIT PAGE
---
## ๐ ๏ธ Installation
### Using Docker
1. Clone the repository:
```
git clone https://github.com/yourusername/hamada-bank-system.git
cd hamada-bank-system
```2. Build and run the Docker containers:
```
docker-compose up --build
```3. Access the application at `http://localhost:5000`
### Using Virtual Environment
1. Clone the repository:
```
git clone https://github.com/yourusername/hamada-bank-system.git
cd hamada-bank-system
```2. Create and activate a virtual environment:
```
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
```3. Install the required packages:
```
pip install -r requirements.txt
```4. Set up environment variables:
```
export FLASK_APP=app.py
export FLASK_ENV=development
export SECRET_KEY=your_secret_key
export JWT_SECRET_KEY=your_jwt_secret_key
```5. Initialize the database:
```
flask db upgrade
```6. Run the application:
```
flask run
```7. Access the application at `http://localhost:5000`
---
## ๐ฅ๏ธ Usage
1. Register a new account or log in with existing credentials.
2. Navigate through the dashboard to perform various banking operations.
3. Admins can access the admin dashboard for user management and system monitoring.## ๐ API Endpoints
- `/api/balance`: Get user's current balance
- `/api/admin/logs`: Retrieve system logs (Admin only)## ๐ค Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## ๐ License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.