VIT Bhopal Student Bank Management System
A java console based project that is made for smooth banking management for VIT Bhopal Students. This project lets student create new account, all the transaction related features such as deposit, withdrawal of money are included.
This project lets VIT Bhopal students smoothly manage thier banking needs through a console based system. This program is made cosidering the banking management issue for students. So this program uses the core OOPs features of Java and use them efficiently to make a robust, maintainable, extensible, flexible system for management of banking needs for students in VIT Bhopal University. The features include Client side features like options for transactions, opening new account, seeig banking summary and does include server side features like viewing all accounts, students adding new students under the platform.
-
Student Account Management
- New students can regsiter throught their unique ID.
- Storing personal information of students like name, Id, email, Phone no.
- Create multiple differnt type accounts per student.
-
Account Operations
- SAVINGS account type
- CURRENT account type
- View detailed account information
-
Financial Transactions
- Deposits: Add funds to any students account
- Withdrawals: Withdraw funds with balance validation
- Transfers: Transfer money between multiple students acc
- balance gets automatically updated after each succesfull transaction
-
Transaction Management
- Track complete transaction history
- Can fetch timestamp for each and every transaction
- Transaction ID generation for reference purpose
- Balance-after information for after each transaction
-
Bank Summary
- View the total no. of STudents logged
- View total number of accounts
- Monitor total bank deposits in rupees (₹)
-
Student Information
- Display all registered students under the system
- View details that are specific to students logged
- Can track any students account
- Java 11+ - Core language for the dev of the applicatoin
- java.util.ArrayList -Dynamic list management
- java.util.List - Collection interface
- java.time.LocalDateTime - Tracking of timestamp
- java.time.format.DateTimeFormatter - Formatting of dates
- java.util.Scanner - Handling User inputs
- Git - Source code management
- GitHub - Remote repository hosting
- Visual Studio Code - Code editor (recommended)
- Java Development Kit (JDK) - Java compiler and runtime
- Java Development Kit (JDK 11 or higher) installed on your system
- Git installed for cloning the repository
- Terminal/Command Prompt access
-
Clone the entirer Repository
git clone https://github.com/soumyaGhoshh/vityarthi-java-project.git cd vityarthi-java-project -
Navigate to the Project Directory in local
cd vityarthi/bankmanagement -
Compile the Java Files by javac command
javac *.javaOr compile all Java files in the package:
javac bankmanagement/*.java
From the bankmanagement directory, run:
java BankAppOr, if running from the parent vityarthi directory:
java -cp . bankmanagement.BankAppWelcome to VIT Bhopal Student Bank Management System!
=== MAIN MENU ===
1. View Bank Summary
2. View All Students
3. View All Accounts
4. Student Operations
5. Account Operations
6. Transactions
7. Add New Student
8. Open New Account
9. Exit
Choose an option:
- Run the application once
- Select option
2(Viewing All Students) - Verify that pre-loaded student information is displayed
- Expected Output: Display of all registered students with their details
Screenshot (example):

- Run the application
- Select option
3(View All Accounts) - Verify that all accounts are listed with account numbers, holders, types, and balances
- Expected Output: Complete account listing with account information
- Run the application
- Select option
6(Transactions) - Select sub-option
1(Deposit) - Enter an existing account number (e.g.,
ACC001) - Enter a deposit amount (e.g.,
500) - Expected Output: Success message with new balance
- Run the application
- Select option
6(Transactions) - Select sub-option
2(Withdraw) - Enter an existing account number (e.g.,
ACC001) - Enter a withdrawal amount (less than current balance)
- Expected Output: Success message with updated balance
- Run the application
- Select option
6(Transactions) - Select sub-option
3(Transfer) - Enter source account number (e.g.,
ACC001) - Enter recipient account number (e.g.,
ACC002) - Enter transfer amount
- Expected Output: Success message with both accounts updated
- Run the application
- Select option
5(Account Operations) - Enter account number (e.g.,
ACC001) - Select sub-option
1(View Transaction History) - Expected Output: Complete transaction history with timestamps
- Run the application
- Select option
7(Add New Student) - Enter student ID, name, email, and phone number
- Expected Output: Success confirmation message
- Run the application
- Select option
8(Open New Account) - Enter existing student ID
- Enter new account number
- Enter initial deposit amount
- Select account type (SAVINGS/CURRENT/SALARY)
- Expected Output: Account creation confirmation
- Run the application
- Select option
1(View Bank Summary) - Verify total students, accounts, and deposits are displayed
- Expected Output: Summary statistics
- Run the application
- Select option
9(Exit) - Expected Output: Farewell message and application closure
bankmanagement/
├── Bank.java # Bank management class
├── BankAccount.java # Account operations class
├── BankApp.java # Main application entry point
├── Customer.java # Student/Customer information class
├── Transaction.java # Transaction details class
├── .gitignore # Git ignore configuration
└── README.md # Project documentation
The application includes validation for:
- Invalid menu options
- Insufficient funds for withdrawals
- Non-existent student/account IDs
- Invalid transaction amounts
- Empty account lists
- Database integration (MySQL/PostgreSQL)
- User authentication and login system
- Advanced reporting and analytics
- Export transaction history to CSV/PDF
- Interest calculation for savings accounts
- Loan management system
- Mobile application interface
AKHIL YADAV
VIT Bhopal University
GitHub: @soumyaGhoshh
This project is open-source and available for educational purposes.
For questions or issues, please open an issue on the GitHub repository: https://github.com/soumyaGhoshh/vityarthi-java-project/issues
- Initial release
- The core banking features implemented in there
- The transaction management system
- The Student account management
- The Complete transaction history tracking
Last Updated: November 24, 2025 EOFREADME
