This is a Java Swing-based banking management application designed to provide a cost-effective and efficient solution for banking operations. It prioritizes security, ease of use, and offers multiple functionalities suitable for students and small-scale banking operations.
Existing banking management applications often demand extensive knowledge of application development, making them inaccessible to individuals without specialized skills. This project resolves this challenge by leveraging Java Swing, an extension of the Java language, to create a user-friendly banking management application without the complexity of app development.
- CSV Data Source: Utilizes CSV files for data storage instead of complex SQL databases, simplifying data management.
- Password Protection: Implements password protection to enhance security.
- Multiple Interfaces: Provides separate interfaces for admin, user, worker, and advanced options, catering to specific roles and functionalities.
-
Initial Screen: Features buttons for admin login, user login, new account creation, and worker login.

- Admin Login: Allows administrators to log in with their credentials.
- User Login: Allows users to log in with their credentials.
- New Account Creation: Redirects to the new account creation interface.
- Worker Login: Allows workers to log in with their credentials.
-
Login Interface: Allows users to input credentials for system access.

- Username Field: Where users enter their username.
- Password Field: Where users enter their password.
- Login Button: Submits the credentials for authentication.
-
User Interface: Displays user details and facilitates actions like depositing, withdrawing, and logging out.

- User Details: Displays the user's name, account number, account type, and balance.
- Deposit Button: Allows the user to deposit an amount into their account.
- Withdraw Button: Allows the user to withdraw an amount from their account.
- Logout Button: Logs the user out of the system.
-
New Account Interface: Guides users through the account creation process.

- Name Field: Where users enter their name.
- Initial Balance Field: Where users enter the initial balance for their account.
- Account Type Field: Where users select the type of account they want to create.
- Username Field: Where users enter their desired username.
- Password Field: Where users enter their desired password.
- Confirm Password Field: Where users confirm their password.
- Create Account Button: Submits the information to create a new account.
-
Admin Interface: Grants administrators access to user details, balance modification options, and search functionality.

- User Details: Displays the details of all users, including their name, account number, account type, and balance.
- Refresh Button: Refreshes the list of users.
- Modify Balance Button: Allows the admin to modify the balance of a user's account.
- Search Field: Where the admin can search for a user by username.
- Search Button: Initiates the search based on the entered username.
-
Worker Interface: Offers similar functionalities as the admin interface, tailored for workers.

- User Details: Displays the details of all users, including their name, account number, account type, and balance.
- Refresh Button: Refreshes the list of users.
- Add Interest Button: Adds interest to the balance of all user accounts.
- Search Field: Where the worker can search for a user by username.
- Search Button: Initiates the search based on the entered username.
- Modify Balance Button: Allows the worker to modify the balance of a user's account.
- Advanced Options Button: Redirects to the advanced options interface.
-
Advanced Options Interface: Presents advanced functionalities such as adding fixed deposits, applying for loans, and managing loans and fixed deposits.

- User Details: Displays the details of all users, including their name, account number, account type, and balance.
- Refresh Button: Refreshes the list of users.
- Trace Users Button: Allows the user to trace and view specific user details.
- Add Fixed Deposit Button: Adds a fixed deposit to the user's account.
- Apply for Loan Button: Allows the user to apply for a loan.
- Show Approved Loan Button: Displays approved loans for users.
- Show Approved Fixed Deposit Button: Displays approved fixed deposits for users.
- Loan Management Screen Button: Redirects to the loan management screen.
- FD Management Button: Redirects to the fixed deposit management screen.
- Back Button: Returns to the worker interface.
- Advanced Development: Potential for enhancing the application with more sophisticated features and improved design.
- Implementation of MySQL: Integration of MySQL for secure data sharing and advanced data management.
- Clone the repository to your local machine.
- Compile and run the Java files using a Java development environment.
- Follow the on-screen instructions to navigate through the application.
Contributions to this project are welcome. Please feel free to submit pull requests or open issues for any enhancements or issues encountered.
