A comprehensive Java-based inventory management system designed for retail businesses to efficiently manage products, customers, suppliers, and sales operations through an intuitive command-line interface.
- Manager Access: Full system control with administrative privileges
- Customer Access: Browse products and make purchases
-
Inventory Management
- View real-time stock levels
- Add, update, and remove products
- Low stock alerts and monitoring
- Product search functionality
-
Customer Management
- Add and remove customer records
- View customer database
- Track customer purchase history
-
Supplier Management
- Maintain supplier database
- Add and remove suppliers
- Track supplier transactions
-
Sales Reporting
- Customer sales reports
- Supplier purchase reports
- Transaction history tracking
- Browse available products
- Purchase items with real-time stock updates
- View product details and pricing
- Automatic data saving after each operation
- File-based storage system for:
- Product inventory (
ProductData.txt) - Customer records (
CustomerData.txt) - Supplier information (
SupplierData.txt) - Sales transactions (
SalesData.txt)
- Product inventory (
- Color-coded terminal output for better readability
- Clean, menu-driven navigation
- Input validation and error handling
- Java Development Kit (JDK) 8 or higher
- Terminal/Command Prompt
- Clone the repository:
git clone https://github.com/win-x-u-r/StockManager.git
cd StockManager- Compile the Java files:
javac *.java- Run the application:
java StockManageUpon launching the application, you'll be presented with login options:
1. Manager - Access full system features
2. Customer - Browse and purchase products
3. Exit - Close the application
- Displays all products with current quantities
- Highlights low-stock items requiring reorder
- Add Product: Enter product details (ID, name, description, price, quantity)
- Remove Product: Delete products by ID or name
- Update Product: Modify existing product information
- Search Product: Find products by ID or name
- Add Customer: Register new customers with ID and name
- Remove Customer: Delete customer records
- View All Customers: Display complete customer list
- Add Supplier: Register new suppliers
- Remove Supplier: Delete supplier records
- View All Suppliers: Display complete supplier list
- Customer Sales: View purchase history by customer
- Supplier Reports: Track inventory received from suppliers
View the complete product catalog with:
- Product ID and name
- Description
- Price
- Available quantity
- Enter the product name
- Specify the quantity
- Provide your customer name
- Transaction is recorded automatically
StockManager/
βββ StockManage.java # Main application and menu system
βββ Product.java # Product class and operations
βββ Customer.java # Customer class and purchase logic
βββ Supplier.java # Supplier class and operations
βββ Save.java # Data persistence utilities
βββ ProductData.txt # Product inventory database
βββ CustomerData.txt # Customer records database
βββ SupplierData.txt # Supplier records database
βββ SalesData.txt # Transaction history log
βββ README.md # Project documentation
- StockManage: Main controller with menu navigation and user interface
- Product: Handles product data, inventory operations, and stock management
- Customer: Manages customer information and purchase transactions
- Supplier: Maintains supplier records and relationships
- Save: Provides data persistence and file I/O operations
ProductData.txt
[ProductID] [Name] [Description] [Price] [Quantity]
CustomerData.txt
[CustomerID] [CustomerName]
SupplierData.txt
[SupplierID] [SupplierName]
SalesData.txt
[CustomerName] [Quantity] [ProductName] [Timestamp]
Data is automatically saved after every transaction, ensuring:
- No data loss on unexpected closure
- Real-time synchronization with storage files
- Consistent state across sessions
- π΄ Red: Headers and important notices
- π’ Green: Success messages
- π‘ Yellow: Warnings
- π΅ Blue: Information
- π£ Purple: Special features
- π΅ Cyan: Highlights
- Prevents invalid menu selections
- Validates product quantities and IDs
- Ensures data integrity
This is a university final project. Contributions, suggestions, and feedback are welcome!
- Auto-save feature implemented after every action
- Login menu system with role-based access control
- Fixed issue with View Suppliers display reset
- File-based persistence for simplicity and portability
Created as a Java Final Project for academic purposes.
This project is created for educational purposes.
- Developed as part of a Java programming course
- Thanks to all team members who contributed to this project
Note: This application uses text files for data storage. For production use, consider implementing a proper database system.