Welcome to the Modern Banking Website, a fully-fledged online banking platform designed with a sleek and user-friendly interface for both customer and staff. This project combines a sophisticated front-end built with HTML, CSS, Bootstrap, and JavaScript, and a robust Python Django backend.
- Responsive Design: Built using Bootstrap for a seamless experience across various devices and screen sizes.
- Interactive UI: Dynamic and engaging user interface with smooth transitions and intuitive controls using JavaScript.
- Secure Backend: Django backend ensures a secure and scalable architecture for handling financial transactions and user data.
- Account Management: Users can easily create accounts, manage profiles, and perform various banking operations.
- Transaction History: Keep track of your financial activities with a detailed transaction history.
- Email Notification: Transaction alerts are provided generally on the website and if email notification is on, users are immediately notified of their transactions.
- Toggle Theme: Smooth transition between light and dark mode on the website.
-
Account Management:
- Easy creation of accounts.
- Fund accounts securely using Paystack.
- View and manage beneficiaries.
- Daily transaction limit.
- Get Bank Statement through direct download or email in document form.
- Loan management with interest calculator.
-
Financial Transactions:
- Transfer funds between accounts.
- Pay bills seamlessly (GOTV, DSTV, Startimes, electricity bills).
- Purchase airtime and data.
-
Communication:
- Real-time chat between customers and staff for customer support.
- View bank news.
- View bank exchange rates.
-
Customer Interaction:
- Communicate with customers through a secure chat interface.
- Perform all transactions on behalf of customers.
-
Financial Management:
- Process fund transfers, bill payments, airtime, and data purchases.
- Account funding and management.
- View customer account demographics.
-
Bank Operations:
- Generate and retrieve customer bank statements.
- Manage daily transaction limits.
- Loan processing with interest calculator.
-
Notifications and Alerts:
- Set up and customize email notification preferences.
- Transaction alerts via both the website and email.
-
Security:
- User authentication and authorization.
- Secure payment transactions through Paystack.
-
Documentation:
- Comprehensive documentation in the
docs
directory for setup and customization.
- Comprehensive documentation in the
- Frontend: HTML, CSS, Bootstrap, JavaScript
- Backend: Python Django
- Database: SQLite (can be easily configured for other databases)
- APIs: Paystack - For payment processing; MobileNig - For top-up and bill payments
- Deployment:
git clone https://github.com/PeterOlayemi/Banking-System.git
pip install -r requirements.txt
3. Create environment variables (.env) file containing these variables (all vars are set to an empty string for testing purpose only):
SECRET_KEY = 'your_django_secret_key'
my_email = 'your_email_address'
appsPassword = 'your_appspassword_for_email'
MOBILENIG_SECRET_KEY = 'your_mobilenig_secret_key'
MOBILENIG_PUBLIC_KEY = 'your_mobilenig_public_key'
PAYSTACK_SECRET_KEY = 'your_paystack_secret_key'
PAYSTACK_PUBLIC_KEY = 'your_paystack_public_key'
python manage.py makemigrations
python manage.py migrate
python manage.py runserver
6: Access the application at http://localhost:8000/portal/customer/login/ for customer interface or http://localhost:8000/portal/staff/login/ for staff interface in your browser.
Feel free to contribute by submitting issues or pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.