🛠️ Inventory Manager
Inventory Manager is a custom inventory management system built using Spring Boot and Java for the backend, with HTML and CSS for the front end. It is designed for businesses that sell products composed of individual parts, helping them track, manage, and maintain accurate inventory records.
The application allows users to:
- Add, update, and delete products and parts
- Enforce inventory constraints to prevent overstocking or shortages
- Process purchases and automatically adjust inventory levels
Features
- Customizable Storefront: Designed for a fictional business, Performance PCs & Parts, the app displays the store name, available products, and associated parts on the main screen.
- Product and Part Management: Users can create, edit, or delete inventory items. Each product consists of one or more parts, and the system maintains clear part-to-product relationships for tracking purposes.
- Purchase System: Every product features a "Buy Now" button that simulates a customer purchase. Stock counts are updated immediately. If a product is out of stock, an error message is displayed.
- Inventory Constraints: Each part includes a defined minimum and maximum threshold. The app enforces these values to prevent invalid inventory states.
- Sample Data: Five example products and five parts are preloaded into the system every time it starts. This ensures consistent testing conditions and allows quick demos.
- About Page: A simple "About" page explains the fictional business. Users can navigate between the main screen and the about page easily.
- Input Validation & Error Handling:
- Prevents assigning more parts to a product than are in stock
- Blocks inventory edits that break min/max rules
- Displays real-time validation messages for incorrect entries
- Unit Testing: Two unit tests are included to validate proper enforcement of inventory constraints on part quantities.
Technology Stack
- Backend: Java, Spring Boot
- Frontend: HTML, CSS
- Database: Spring JPA (currently in-memory)
- Testing: JUnit
Future Enhancements
- Implement persistent database storage to save inventory across sessions
- Redesign frontend with a more modern interface
- Add login authentication and role-based access controls for staff/admins
Live Demo & Code Repository
🌐 View Live Demo
💻 View Code on GitHub