- Overview
- Features
- Security Measures
- Screenshots
- Installation
- Usage
- API Endpoints
- Contributing
- License
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.
PYP.mp4
- 👤 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
- 🔐 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
-
Clone the repository:
git clone https://github.com/yourusername/hamada-bank-system.git cd hamada-bank-system
-
Build and run the Docker containers:
docker-compose up --build
-
Access the application at
http://localhost:5000
-
Clone the repository:
git clone https://github.com/yourusername/hamada-bank-system.git cd hamada-bank-system
-
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows, use `venv\Scripts\activate`
-
Install the required packages:
pip install -r requirements.txt
-
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
-
Initialize the database:
flask db upgrade
-
Run the application:
flask run
-
Access the application at
http://localhost:5000
- Register a new account or log in with existing credentials.
- Navigate through the dashboard to perform various banking operations.
- Admins can access the admin dashboard for user management and system monitoring.
/api/balance
: Get user's current balance/api/admin/logs
: Retrieve system logs (Admin only)
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.