Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

VirtualBanking

Live Demo of VirtualBanking

Project Overview

"VirtualBanking" is a Django-based web application designed to provide a secure and efficient online banking experience. It offers two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking features by creating an account. The application ensures complete security for personal and banking data and includes multiple functionalities such as account creation, profile management, and banking operations like deposit, withdrawal, and loan management.


Key Features

1. User Registration & Authentication

  • Two Types of Users:

    • General Users: Can browse the homepage and learn about the banking features without logging in.
    • Registered Users: Must create an account to access full banking features.
  • Account Creation Requirements:

    • Unique username, email, mobile number, and National ID (NID) number.
    • Personal information including first name, last name, email, phone number, birthdate (must be above 18), gender, NID, account type, street address, postal code, city, country.
    • Profile picture upload during account creation.
    • Password and confirmation password to ensure account security.
  • Account Creation Validation:

    • Age verification for users below 18 years.
    • Unique username, email, mobile number, and NID check.

2. Banking Features for Logged-In Users

  • Profile Information:

    • After logging in, users can view their profile, including their unique bank account number generated automatically.
    • Users can view and manage personal details and banking operations.
  • Banking Operations:

    • Deposit & Withdrawal: Users can deposit money into their accounts or withdraw funds.
    • Loan Application: Users can apply for a loan. A maximum of 3 loan requests can be made at a time.
    • Loan Approval: Upon loan approval, funds are transferred into the user’s account.
    • Transaction History: Users can view detailed transaction history, including transaction date, amount, and type.

3. Profile Management & Password Reset

  • Profile Update:

    • Users can update their profile information (except for username and bank account number).
    • Users can change their password anytime.
  • Forgot Password:

    • If a user forgets their password, they can reset it via email.
    • A password reset link is sent to the user’s email, allowing them to change their password securely.

4. Admin Dashboard

  • Admin Panel:
    • Admin can manage users and monitor activities, such as approving loan requests and viewing transaction history.

Tech Stack

  • Backend: Django
  • Frontend: HTML, JavaScript, Tailwind CSS
  • Database: SQLite (for development)
  • Authentication: Django's built-in authentication system
  • Hosting: Render for deployment

Screenshots

Home Page

Home Page

Login Page

Login Page

Registration Page

Registration Page

Profile Page

Deposit Page

Deposit Page

Deposit Page

Withdraw Page

Withdraw Page

Loan Request Page

Loan Request Page

View All Loan Requests Page

All Loan Requests Page

All Transaction Reports Page

All Transaction Reports Page

Change Password Page

Change Password Page

Forgot Password Page

Forgot Password Page

Check Email Page

Forgot Password Page

Password Reset Page

Forgot Password Page

Password Reset Complete Page

Forgot Password Page


Getting Started

Prerequisites

Before running the project locally, make sure you have the following installed:

  • Python (3.x)
  • Django
  • PostgreSQL (if using production database)
  • Tailwind CSS (for styling)

Installation

  1. Clone the repository to your local machine:

    git clone https://github.com/asrahim88/VirtualBanking.git
  2. Navigate to the project directory:

    cd VirtualBanking
  3. Install required dependencies:

    pip install -r requirements.txt
  4. Run migrations to set up the database:

    python manage.py migrate
  5. Start the Django development server:

    python manage.py runserver
  6. Access the application at http://localhost:8000.


Why Choose This Project?

  • Comprehensive Banking Solution: The project provides a comprehensive banking platform, allowing users to manage their accounts and perform various banking operations securely.
  • Secure and Scalable: Built with Django, which is a reliable framework for handling sensitive financial data.
  • User-Centric Features: Designed to ensure a smooth experience for both general and registered users, with secure authentication and detailed transaction reports.
  • Easy to Maintain: The Django framework makes it easy to maintain and scale as needed, with an admin panel for managing users and overseeing banking operations.

About

VirtualBanking is a Django-based web application designed to provide a secure and efficient online banking experience. It caters to two types of users: regular users who can view the homepage and learn about banking features, and registered users who can fully access banking functionalities by creating an account.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages