A modern, theme-enabled, multi-user Inventory Management System built using pure Java and Swing.
The application supports user authentication, per-user inventory storage, activity logging, CSV import/export,
low-stock alerts, and a clean dark/light UI.
- Sign Up / Login functionality
- Each user has their own separate inventory file
- Credentials stored in
/users/<username>.user - Inventories stored in
/inventories/<username>.dat
- Add, Edit, Delete items
- Increase / Decrease stock quantity
- Reorder level support
- Real-time search filtering
- Items below threshold highlighted
- Dedicated low-stock report window
- Displays recommended restock quantity
- Logs all user actions (add, edit, delete, stock change, import/export, low-stock view)
- Timestamped entries
- Viewable in a separate Activity Log window
- Import inventory from CSV
- Export current table to CSV
- Handles bad format entries safely
- Toggle between Dark Mode and Light Mode
- Colors update across the entire UI
- Activity Log and table styling update accordingly
- Loads inventory automatically on login
- Saves inventory automatically on logout
- Each user’s inventory is isolated
-
Install JDK 8 or higher.
-
Compile the program:
-
Run:
-
Create an account using Sign Up, then log in.
InventoryManagementSystem.java
/users/ -> user credential files
/inventories/ -> per-user inventory data files
- Java 8+
- Swing (JFrame, JDialog, JTable, JScrollPane, BoxLayout, BorderLayout)
- Custom cell renderers
- Java Serialization
- File I/O (BufferedReader, PrintWriter, Object streams)
- Activity log resets each session (not saved to file)
- Passwords stored in plain text (simple academic implementation)
- Data is local-only (no server/cloud storage)
Free to use for academic and educational purposes.