Skip to content

elias-winberg/unicorn-bk-sys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Unicorn Bank System

A comprehensive web-based banking application built with Java, JSP, and MySQL, providing secure banking operations for customers and administrative functions for employees.

Features

Customer Portal

  • Secure Login: Authenticated access to personal banking features
  • Account Management: Check balance, view transaction statements
  • Financial Transactions: Deposit, withdraw, and transfer funds between accounts
  • Profile Updates: Modify personal information securely

Employee Dashboard

  • Administrative Access: Login verification for bank staff
  • Customer Management: Add new customers, view/update customer details
  • Account Control: Block/unblock customer accounts, delete accounts
  • System Oversight: View all customers and manage account statuses

Architecture Overview

graph TB
    subgraph "Client Layer"
        A[Web Browser]
    end

    subgraph "Presentation Layer"
        B[JSP Pages]
        B1[customer_login.jsp]
        B2[customer_homepage.jsp]
        B3[deposit.jsp]
        B4[withdraw.jsp]
        B5[statement.jsp]
        B6[update.jsp]
    end

    subgraph "Application Layer"
        C[Servlets]
        C1[customer.CheckBalance]
        C2[customer.Deposit]
        C3[customer.Withdraw]
        C4[customer.Transfer]
        C5[customer.Statement]
        C6[Employee.AddCustomer]
        C7[Employee.ViewAll]
    end

    subgraph "Data Layer"
        D[(MySQL Database)]
        D1[Customer Accounts]
        D2[Transactions]
        D3[Employee Records]
    end

    A --> B
    B --> C
    C --> D

    style A fill:#e1f5fe
    style B fill:#f3e5f5
    style C fill:#e8f5e8
    style D fill:#fff3e0
Loading

Technology Stack

  • Backend: Java 17 with Servlet API 4.0.1
  • Frontend: JSP (JavaServer Pages)
  • Database: MySQL with MySQL Connector/J 8.0.33
  • Build Tool: Maven
  • Web Server: Compatible with Tomcat or other servlet containers

Prerequisites

  • Java Development Kit (JDK) 17 or higher
  • Apache Maven 3.6+
  • MySQL Server 8.0+
  • Servlet Container (Tomcat 9+ recommended)

Installation & Setup

  1. Clone the Repository

    git clone <repository-url>
    cd unicorn-bk-sys
  2. Database Setup

    • Create a MySQL database named bankdb
    • Update database connection parameters in servlet classes if needed
  3. Build the Project

    mvn clean compile
  4. Package the Application

    mvn package
  5. Deploy

    • Copy target/bank-website.war to your servlet container's webapps directory
    • Start the server
  6. Access the Application

    • Open browser and navigate to http://localhost:8080/bank-website

Project Structure

unicorn-bk-sys/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   ├── customer/          # Customer-facing servlets
│   │   │   └── Employee/          # Employee/admin servlets
│   │   └── webapp/               # JSP pages and web resources
│   │       ├── WEB-INF/
│   │       └── *.jsp
├── target/                       # Compiled classes and WAR file
├── pom.xml                       # Maven configuration
└── README.md

Usage

For Customers

  1. Navigate to the login page
  2. Enter credentials to access account
  3. Perform banking operations through the homepage
  4. Logout securely after transactions

For Employees

  1. Use employee login credentials
  2. Access administrative functions
  3. Manage customer accounts and system operations

Security Features

  • Secure login authentication
  • Session management
  • Input validation
  • SQL injection prevention through prepared statements

Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit changes (git commit -m 'Add some AmazingFeature')
  4. Push to branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

For support or questions, please open an issue in the repository.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages