A comprehensive web-based banking application built with Java, JSP, and MySQL, providing secure banking operations for customers and administrative functions for employees.
- 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
- 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
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
- 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
- Java Development Kit (JDK) 17 or higher
- Apache Maven 3.6+
- MySQL Server 8.0+
- Servlet Container (Tomcat 9+ recommended)
-
Clone the Repository
git clone <repository-url> cd unicorn-bk-sys
-
Database Setup
- Create a MySQL database named
bankdb - Update database connection parameters in servlet classes if needed
- Create a MySQL database named
-
Build the Project
mvn clean compile
-
Package the Application
mvn package
-
Deploy
- Copy
target/bank-website.warto your servlet container's webapps directory - Start the server
- Copy
-
Access the Application
- Open browser and navigate to
http://localhost:8080/bank-website
- Open browser and navigate to
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
- Navigate to the login page
- Enter credentials to access account
- Perform banking operations through the homepage
- Logout securely after transactions
- Use employee login credentials
- Access administrative functions
- Manage customer accounts and system operations
- Secure login authentication
- Session management
- Input validation
- SQL injection prevention through prepared statements
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit changes (
git commit -m 'Add some AmazingFeature') - Push to branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support or questions, please open an issue in the repository.