Skip to content

Davysongs/TopChoiceBank

Repository files navigation

Top Choice Bank Django Project

Welcome to the Top Choice Bank Django project! This project aims to provide a robust banking application with various features and functions to meet the needs of our users. Below are the key features and functions of this Django project:

Features

  1. User Authentication:

    • Users can sign up for an account and log in securely.
    • Authentication features include password hashing and session management.
  2. Account Management:

    • Users can create multiple bank accounts (e.g., savings, checking).
    • Account details such as balance, transaction history, and account type are displayed.
  3. Transaction Handling:

    • Users can perform various transactions, including deposits, withdrawals, and transfers between accounts.
    • All transactions are logged with details such as transaction type, amount, and date/time.
  4. Admin Dashboard:

    • Administrators have access to a dashboard for managing user accounts, transactions, and system settings.
    • Admins can view and edit user details, freeze accounts, and monitor transaction logs.
  5. Security Measures:

    • The application implements security measures such as password hashing, CSRF protection, and input validation to ensure user data integrity and confidentiality.
    • Two-factor authentication (2FA) can be enabled for enhanced security.
  6. Email Notifications:

    • Users receive email notifications for important account activities, such as password changes, account freezes, and large transactions.

Functions:

  1. Sign Up:

    • New users can register for an account by providing their personal details and creating a secure password.
  2. Log In:

    • Registered users can log in using their email address and password to access their accounts.
  3. Account Creation:

    • Users can create different types of bank accounts based on their financial needs and goals.
  4. Deposit:

    • Users can deposit funds into their accounts securely using various payment methods.
  5. Withdrawal:

    • Users can withdraw money from their accounts either at the bank branch or through ATM machines.
  6. Transfer:

    • Users can transfer money between their own accounts or to other users' accounts within the bank.
  7. Transaction History:

    • Users can view a detailed transaction history, including deposits, withdrawals, and transfers.
  8. Profile Management:

    • Users can update their personal information, change passwords, and manage account preferences.
  9. Admin Controls:

    • Administrators have access to additional controls for managing user accounts, transactions, and system settings.
  10. Security Settings:

    • Users can configure security settings such as enabling 2FA, setting up security questions, and updating contact information.

Getting Started

To run the Top Choice Bank Django project locally, follow these steps:

  1. Clone the repository: git clone https://github.com/top-choice-bank.git
  2. Navigate to the project directory: cd top-choice-bank
  3. Install dependencies: pip install -r requirements.txt
  4. Run migrations: python manage.py migrate
  5. Create a superuser (admin): python manage.py createsuperuser
  6. Start the development server: python manage.py runserver

You can now access the application at http://localhost:8000 and log in with the superuser credentials to access the admin dashboard.

Thank you for choosing Top Choice Bank! If you have any questions or feedback, please don't hesitate to contact us.