- 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.